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

hyemin님의 프로필 이미지
hyemin

작성한 질문수

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

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

작성

·

30K

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/

hyemin님의 프로필 이미지
hyemin

작성한 질문수

질문하기