• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

inner join에서 'Average Population of Each Continent' 문제 질문드립니다

20.09.29 20:26 작성 조회수 123

1

안녕하세요, SQL 강의 잘 듣고 있어요 :)

다름 아니라 이 문제에서 왜 group by 를 써서 아래처럼 작성해주는지 이해가 잘 가지 않습니다.

SELECT country.continent

       , FLOOR(AVG(city.population))

FROM city

    INNER JOIN country ON city.countrycode = country.code

GROUP BY country.continent

처음에 group by 없이  코드를 짰더니 아래같은 에러코드가 나타났습니다.

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY country.continent' at line 5

자세한 설명 한 번 부탁드리겠습니다.

감사합니다.

답변 2

·

답변을 작성해보세요.

1

김아람님의 프로필

김아람

질문자

2020.10.05

안녕하세요! 답변을 참고하여 다시 한  번 풀어볼게요! 감사합니다!

1

안녕하세요, aramk2726님! 

문제에서 continents마다 respective average city populations가 나와야 한다고 했습니다.

어떤 그룹마다 집계 함수 연산을 써서 구해주는 방식으로 풀어준다고 생각하면, 

continent의 country별로 average population이 나와야 하기 때문에 GROUNP BY를 사용해야 합니다. 

감사합니다.