[sql] SQL HAVING 절을 사용하여 그룹화된 데이터 중 최댓값 조회하기
많은 경우 SQL 질의에서 그룹화된 데이터 중 최댓값을 조회해야 합니다. 이를 수행하려면 MAX()
함수와 함께 GROUP BY
절을 사용하여 데이터를 그룹화하고, 그룹의 최댓값을 필터링하기 위해 HAVING
절을 추가해야 합니다.
아래에 간단한 예제를 통해 이를 시연하겠습니다.
예제
다음은 Sales
테이블의 데이터 예제입니다. 이 테이블에는 Region
및 Amount
라는 두 개의 열이 있습니다.
Region | Amount |
---|---|
East | 100 |
West | 150 |
East | 200 |
West | 250 |
그룹화된 데이터 중에서 Amount
열의 최댓값을 조회하는 SQL 질의는 다음과 같이 작성할 수 있습니다.
SELECT Region, MAX(Amount) AS MaxAmount
FROM Sales
GROUP BY Region
HAVING MAX(Amount) > 150;
위의 SQL 질의는 Sales
테이블에서 Region
으로 그룹화하고, 각 그룹 내에서 Amount
의 최댓값을 찾은 후, 해당 값이 150보다 큰 그룹만을 출력합니다.
이제 HAVING
절을 사용하여 그룹화된 데이터 중에서 최댓값을 조건에 따라 조회할 수 있는 방법을 이해했습니다.