• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

group by에 두 개 이상의 column을 쓰는 경우

20.03.15 17:03 작성 조회수 27.1k

3

마지막 hackerrank 상위 문제에서 (union 문제)

--

SELECT x,y

From Functions

WHERE x=y

GROUP BY x, y

HAVING COUNT(x)=2

--

 이 부분의 group by를 해결하는 데에 어려움을 겪었습니다

group by에 두 개 이상의 column을 쓰는 것이 잘 이해가 되지 않아 검색하다가 해당 링크를 찾았는데요

https://dev.mysql.com/doc/refman/8.0/en/group-by-modifiers.html

제가 판단하기로는 group by에 복수 column을 쓰는 경우 곱진법(모든 경우의 수..?)에 의해 모든 가능한 수가 다 나오므로 가능한 것 같더라고요..

해당 문제에서 ' group by x,y ' 를 쓴 이유도 마찬가지인가요..?? 모든 가능한 수를 중복되지 않게 보이기 위해..???

답변 1

답변을 작성해보세요.

3

안녕하세요.

GROUP BY에는 여러 컬럼을 넣어줄 수 있고요. 그 의미는 여러 컬럼을 기준으로 그룹을 만들 수 있다는거겠지요?

예를 들어서, 성별이라는 컬럼이 있고, 지역이라는 컬럼이 있다면 성별과 지역 모두를 사용해 그룹 연산을 할 수 있습니다.

GROUP BY 성별, 지역 이라고 했을 때에, 경기도 여성 / 경기도 남성 / 서울 여성 / 서울 남성 이런 식으로 성별과 지역을 이용해 만들 수 있는 모든 경우의 수로 그룹을 만들수 있게 됩니다.

참고해보실만한 링크를 남겨드려요 :)

https://mode.com/sql-tutorial/sql-group-by/