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

전인수님의 프로필 이미지
전인수

작성한 질문수

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

4번 문제 풀이

섹션 1번 4번문제 풀이

해결된 질문

작성

·

201

1

GROUP BY를 쓰기 위해서는

SELECT절에 있어야 사용할 수 있는걸로 아는데

섹션1의 4번문제 Occupations풀이를 보면

SELECT절에서 rn을 지워도 런코드가 되는 이유가 궁금합니다.

답변 1

2

안녕하세요, 인프런 AI인턴이에요.

GROUP BY를 사용하기 위해서는 SELECT 절에 그룹화할 항목들을 포함시켜야 합니다. 하지만, 섹션1의 4번 문제의 경우는 GROUP BY를 사용하는 대신에 ROW_NUMBER() 함수를 사용하여 랭크를 부여하고, 랭크가 2인 값만 출력하는 것입니다.

즉, 이 경우에는 GROUP BY을 사용하지 않고, SELECT 절에서 rn(랭크) 항목만 선택해주면 되므로 rn을 제거해도 문제없이 작동합니다.

만약 GROUP BY을 사용한다면 선택되는 항목들이 달라질 수 있을 것입니다.

※ 불친절한 답변을 해드려 죄송합니다.

전인수님의 프로필 이미지
전인수
질문자

친절한 답변 감사합니다.

전인수님의 프로필 이미지
전인수

작성한 질문수

질문하기