데이터베이스에서 GROUP BY 절은 데이터를 그룹화하고 각 그룹에 대한 집계 함수를 적용하는 데 사용됩니다. GROUP BY 절을 활용하여 데이터의 상위나 하위 그룹을 추출할 수 있습니다. 이를테면, 가장 많이 판매된 제품의 그룹이나 가장 많은 매출을 올린 지역의 그룹 등을 추출할 수 있습니다.
상위 그룹 추출하기
상위 그룹을 추출하려면 다음의 단계를 따릅니다:
- 데이터를 적절한 기준으로 그룹화합니다.
- 각 그룹에 대해 집계 함수를 사용하여 원하는 지표(예: 매출액, 판매량 등)를 계산합니다.
- 결과를 정렬하고 필요한 상위 그룹의 개수를 지정합니다.
- 필요에 따라 추가 필터링을 적용하여 결과를 좁힙니다.
예를 들어, 아래의 SQL 쿼리는 매출액을 기준으로 상위 3개의 고객 그룹을 추출하는 방법을 보여줍니다:
SELECT customer_id, SUM(revenue) AS total_revenue
FROM orders
GROUP BY customer_id
ORDER BY total_revenue DESC
LIMIT 3;
이 쿼리는 orders
테이블의 데이터를 customer_id
로 그룹화하고, 각 그룹에 대해 매출액의 합을 계산한 뒤, 매출액을 기준으로 내림차순으로 정렬하여 상위 3개의 고객 그룹을 추출합니다.
하위 그룹 추출하기
반대로, 하위 그룹을 추출하려면 다음의 단계를 따릅니다:
- 데이터를 적절한 기준으로 그룹화합니다.
- 각 그룹에 대해 집계 함수를 사용하여 원하는 지표(예: 매출액, 판매량 등)를 계산합니다.
- 결과를 정렬하고 필요한 하위 그룹의 개수를 지정합니다.
- 필요에 따라 추가 필터링을 적용하여 결과를 좁힙니다.
예를 들어, 아래의 SQL 쿼리는 매출액을 기준으로 하위 5개의 제품 그룹을 추출하는 방법을 보여줍니다:
SELECT product_id, SUM(revenue) AS total_revenue
FROM orders
GROUP BY product_id
ORDER BY total_revenue ASC
LIMIT 5;
이 쿼리는 orders
테이블의 데이터를 product_id
로 그룹화하고, 각 그룹에 대해 매출액의 합을 계산한 뒤, 매출액을 기준으로 오름차순으로 정렬하여 하위 5개의 제품 그룹을 추출합니다.
상위나 하위 그룹을 추출할 때 주의할 점은 집계 함수와 정렬 및 필터링을 적절히 활용하여 원하는 결과를 얻을 수 있도록 쿼리를 작성하는 것입니다.
이상으로 SQL의 GROUP BY 절을 활용하여 데이터의 상위/하위 그룹을 추출하는 방법에 대해 살펴보았습니다. 원하는 결과를 얻기 위해 적절한 GROUP BY 및 집계 함수, 정렬, 필터링을 조합하여 쿼리를 작성하는 것이 중요합니다.
이상입니다.