[sql] GROUP BY 절을 이용한 정렬 및 순서 지정

SQL에서 GROUP BY 절은 데이터를 그룹화하고 집계 함수를 사용하여 그룹별로 결과를 반환하는 데 사용됩니다. 그러나 종종 데이터 그룹 내에서 특정한 순서로 결과를 정렬하고 싶을 때가 있습니다. 이때 ORDER BY 절을 추가하여 그룹 내 결과의 순서를 지정할 수 있습니다.

GROUP BY 절로 데이터 그룹화

예를 들어, 주문 테이블에서 각 고객별 주문 총액을 구하고 싶다고 가정해 봅시다. 이때 다음과 같은 SQL 문을 사용할 수 있습니다.

SELECT customer_id, SUM(order_amount) AS total_order_amount
FROM orders
GROUP BY customer_id;

위의 SQL 문은 orders 테이블을 customer_id로 그룹화하여 각 고객별 주문 총액을 구하는 결과를 반환합니다.

GROUP BY 절을 이용한 결과의 순서 지정

하지만 만일 각 고객별 주문 총액을 내림차순으로 정렬하여 출력하고 싶다면, ORDER BY 절을 추가할 수 있습니다.

SELECT customer_id, SUM(order_amount) AS total_order_amount
FROM orders
GROUP BY customer_id
ORDER BY total_order_amount DESC;

위의 SQL 문에서 ORDER BY 절을 이용하여 total_order_amount 기준으로 내림차순으로 결과를 정렬합니다.

이와 같이 GROUP BY 절과 ORDER BY 절을 함께 사용하여 데이터를 그룹화하고 그룹 내에서 원하는 순서로 결과를 출력할 수 있습니다.

마무리

GROUP BY 절은 데이터를 그룹화하고 집계 함수를 사용하여 각 그룹별 결과를 반환하는 데 사용됩니다. 이때 ORDER BY 절을 함께 사용하여 그룹 내 결과의 순서를 지정할 수 있으며, 이를 통해 보다 유용한 데이터 분석이 가능해집니다.

위와 같은 방식으로 SQL의 GROUP BYORDER BY 절을 이용하여 데이터를 효율적으로 처리할 수 있습니다.

References