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

anstmdcks12님의 프로필 이미지
anstmdcks12

작성한 질문수

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

UNION 해커랭크 문제풀이(난이도 상)

group by 질문입니다

작성

·

286

0

group by를 할때

group by x, y 이렇게 x와 y 두개의 기준을 동시에 잡은 이유가

무엇인지 모르겠습니다

group by x 라고만 적어도 정답이라고 뜨던데요...

그이유를 모르겠습니다

답변 1

1

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

...
WHERE X = Y
GROUP BY X, Y
HAVING COUNT(*) = 2

위 쿼리에서는 GROUP BY X로 해도 정답이 나오는 것이 맞습니다.
WHERE 절에서 X와 Y가 동일한 데이터만 추출하도록 조건을 걸어 X=1이면 무조건 Y도 1인 데이터만 남았기 때문입니다.

만약 (X, Y) = (1, 1)인 데이터가 5개, (1, 2)인 데이터가 3개 있다면
GROUP BY X, Y를 해 카운트를 하면 각각 (1, 1) 5개, (1, 2) 3개가 나오고
GROUP BY X를 해 카운트를 하면 Y를 고려하지 않고 그냥 8개가 되겠죠.

그런데 WHERE X =Y로 인해 (X, Y) = (1, 1)인 데이터만 5개 있는 상황이므로
GROUP BY X, Y를 하든 GROUP BY X를 하든 동일하게 카운트 값은 5개가 나옵니다.

anstmdcks12님의 프로필 이미지
anstmdcks12
질문자

답변 감사합니다!!

anstmdcks12님의 프로필 이미지
anstmdcks12

작성한 질문수

질문하기