인프런 커뮤니티 질문&답변

[데잇걸즈5기] 소정 / 밥그릇님의 프로필 이미지
[데잇걸즈5기] 소정 / 밥그릇

작성한 질문수

[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이

4번 문제 풀이

group by로 c.comapny_code와 c.founder를 해주는 이유는 무엇인가요?

작성

·

216

0

다른 쿼리문은 왜 작성하는지 이해가 되는데 group by로 c.company_code와 c.founder가 쓰이는 이유를 모르겠습니다. 예시에도 각 테이블의 값들이 나열되는데 왜 그룹으로 묶어주어야 하는 것인지 잘 이해가 되지 않아요!

답변 1

3

지식공유자 J님의 프로필 이미지
지식공유자 J
지식공유자

문제에서 요구하는 바는 각 company_code 마다 직급별 인원 수를 출력하는 것이기 때문에,
company_code 컬럼으로 GROUP BY를 한 후 인원 수 연산을 해야 합니다.

그리고 GROUP BY를 쓸 때 SELECT 절에는 그룹을 묶는 기준이 되는 컬럼과, 다른 컬럼의 집계값만 쓸 수 있습니다.
company_code와 1:1의 관계를 가지는 founder는 연산(이 문제에서는 인원 수 구하기)에 사용될 컬럼이 아니고, company_code와 같이 그룹을 묶는 기준이 되므로 GROUP BY에 함께 써 줘야 합니다.

[데잇걸즈5기] 소정 / 밥그릇님의 프로필 이미지
[데잇걸즈5기] 소정 / 밥그릇

작성한 질문수

질문하기