[sql] 집계 함수를 사용한 데이터 정렬하기

데이터베이스에서 집계 함수를 사용하면 데이터를 통계적으로 분석하고 요약할 수 있습니다. 이러한 함수를 사용하여 데이터를 분류하고 정렬하는 방법을 살펴보겠습니다.

GROUP BY를 사용한 데이터 그룹화

GROUP BY 절은 데이터의 특정 열을 기준으로 그룹을 지어 집계 함수를 적용하는 데 사용됩니다. 예를 들어, 주문 테이블에서 고객별 주문 총액을 구하는 경우 다음과 같은 SQL을 사용할 수 있습니다.

SELECT customer_id, SUM(order_total) AS total_amount
FROM orders
GROUP BY customer_id
ORDER BY total_amount DESC;

위의 예시에서 customer_id로 그룹을 지은 뒤, SUM 집계 함수를 사용하여 주문 총액을 구하고, ORDER BY 절로 총액을 기준으로 내림차순으로 정렬하였습니다. 이를 통해 각 고객의 주문 총액을 확인할 수 있습니다.

HAVING을 사용한 그룹 데이터 필터링

HAVING 절은 GROUP BY와 함께 사용되며, 그룹화된 데이터에 조건을 적용하여 필터링할 때 사용됩니다. 예를 들어, 주문 테이블에서 3건 이상의 주문을 한 고객만을 출력하는 경우 다음과 같이 SQL을 사용할 수 있습니다.

SELECT customer_id, COUNT(order_id) AS order_count
FROM orders
GROUP BY customer_id
HAVING order_count >= 3
ORDER BY order_count DESC;

위의 예시에서 HAVING 절을 사용하여 3건 이상의 주문을 한 고객만을 출력하고, ORDER BY 절로 주문 건수를 기준으로 내림차순으로 정렬하였습니다.

집계 함수를 활용하여 데이터를 그룹화하고 필터링 하는 방법을 익혔습니다. 이를 통해 데이터베이스에서 원하는 정보를 효과적으로 추출하고 분석할 수 있습니다.

참고 자료

감사합니다.