ROLLUP은 SQL에서 여러 수준의 집계(소계와 총계)를 생성하는 데 사용되는 그룹핑 옵션입니다.
이를 사용하여 데이터의 그룹별 합계는 물론, 전체 총계도 함께 조회할 수 있습니다.
아래는 ROLLUP을 사용하는 방법과 예시입니다.
SELECT column1, column2, ..., AGGREGATE_FUNCTION(column)
FROM table_name
GROUP BY ROLLUP(column1, column2, ...);
예를 들어 Sales 테이블이 있고, 각 region별로 총 sales_amount를 구하면서 전체 총계도 계산하려면 ROLLUP을 사용하여 처리할 수 있습니다.
SELECT region, SUM(sales_amount) AS total_sales
FROM Sales
GROUP BY ROLLUP(region);
| region | total_sales |
| North | 10000 |
| South | 15000 |
| East | 12000 |
| West | 13000 |
| NULL | 50000 |
ROLLUP을 다중 컬럼으로 사용할 경우, 첫 번째 컬럼별 소계, 두 번째 컬럼별 소계, 그리고 최종 총계를 제공합니다.
예를 들어, region과 product별로 sales_amount 합계를 구하는 경우:
SELECT region, product, SUM(sales_amount) AS total_sales
FROM Sales
GROUP BY ROLLUP(region, product);
| region | product | total_sales |
| North | A | 5000 |
| North | B | 5000 |
| North | NULL | 10000 |
| South | A | 8000 |
| South | B | 7000 |
| South | NULL | 15000 |
| NULL | NULL | 25000 |
SUM, AVG, COUNT 같은 여러 집계 함수를 조합하여 사용하면 다양한 계산 결과를 볼 수 있습니다.
SELECT region, product, SUM(sales_amount) AS total_sales, AVG(sales_amount) AS avg_sales
FROM Sales
GROUP BY ROLLUP(region, product);
| 데이터베이스 SQL 조건절 where 1=1 뜻 (0) | 2024.11.05 |
|---|---|
| 데이터베이스 SQL 서브쿼리 EXIST 함수 사용 (1) | 2024.11.03 |
| select 1 from 테이블 쿼리 사용하는 방법 (0) | 2024.11.02 |
| 데이터베이스 쿼리 범위 조회 LIMIT절 (feat.Cubrid 큐브리드) (0) | 2024.11.02 |
| SQL쿼리 group by a 와 group by a,b,c 차이 (1) | 2024.10.21 |