[sql] GROUP BY 절을 이용한 상위/하위 그룹의 특정 값 추출하기
SQL에서 GROUP BY 절을 사용하면 특정 열을 기준으로 데이터를 그룹화할 수 있습니다. 그룹화된 데이터에서 특정 조건을 충족하는 최상위 또는 최하위 그룹의 값을 추출하는 방법에 대해 알아봅시다.
상위 그룹의 값 추출
특정 열을 기준으로 그룹화된 데이터에서 상위 그룹의 값을 추출하는 방법은 다음과 같습니다.
SELECT column1, column2, MAX(aggregated_column) AS max_value
FROM table_name
GROUP BY column1, column2
위의 예시에서 column1
, column2
열을 기준으로 그룹화한 후, aggregated_column
의 최댓값을 각 그룹별로 선택합니다.
하위 그룹의 값 추출
특정 열을 기준으로 그룹화된 데이터에서 하위 그룹의 값을 추출하는 방법은 다음과 같습니다.
SELECT column1, column2, MIN(aggregated_column) AS min_value
FROM table_name
GROUP BY column1, column2
위의 예시에서 column1
, column2
열을 기준으로 그룹화한 후, aggregated_column
의 최솟값을 각 그룹별로 선택합니다.
이렇듯 GROUP BY 절을 활용하여 SQL에서 상위 또는 하위 그룹의 특정 값을 추출할 수 있습니다.
참고 문헌
- MySQL Documentation. “GROUP BY Modifiers”. https://dev.mysql.com/doc/refman/8.0/en/group-by-modifiers.html
- PostgreSQL Documentation. “GROUP BY Clause”. https://www.postgresql.org/docs/current/queries-table-expressions.html#QUERIES-GROUP