• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

group by 질문입니다

22.10.21 20:07 작성 조회수 191

0

group by를 할때

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

무엇인지 모르겠습니다

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

그이유를 모르겠습니다

답변 1

답변을 작성해보세요.

1

...
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개가 나옵니다.

답변 감사합니다!!