ROLLUP()이란?

YOBY·2023년 10월 6일
0

SQL의 ROLLUP은 데이터를 그룹화하고 집계하는데 사용되는 기능 중 하나입니다.

ROLLUP을 사용하면 여러 수준의 합계를 한 번에 계산할 수 있습니다.
예를 들어, 여러 열에 대한 총합 및 부분 합계를 계산할 때 유용합니다.

간단한 예제로 ROLLUP을 설명해보겠습니다.
우선, 고객별로 판매 금액을 추적하는 데이터베이스가 있다고 가정해봅시다. 이 데이터베이스에는 '고객', '제품', '판매금액'과 같은 열이 있을 것입니다.

SELECT 
    customer,
    product,
    SUM(sales_amount) as total_sales
FROM 
    sales
GROUP BY 
    ROLLUP (customer, product);

위의 SQL 쿼리는 고객 및 제품별 판매 금액의 합계를 계산합니다. ROLLUP 절을 사용하여 여러 레벨의 합계를 한 번에 얻을 수 있습니다.

예를 들어, 다음과 같은 데이터가 있다고 가정해봅시다:

| customer | product | sales_amount |
|----------|---------|--------------|
| John     | A       | 100          |
| John     | B       | 200          |
| Jane     | A       | 150          |
| Jane     | B       | 250          |

위의 쿼리를 실행하면 다음과 같은 결과가 나올 것입니다:

| customer | product | total_sales |
|----------|---------|-------------|
| John     | A       | 100         |
| John     | B       | 200         |
| John     | NULL    | 300         | <- John의 판매 합계
| Jane     | A       | 150         |
| Jane     | B       | 250         |
| Jane     | NULL    | 400         | <- Jane의 판매 합계
| NULL     | NULL    | 700         | <- John, Jane의 총 판매 합계

위 결과에서, 'NULL' 값은 해당 열의 전체 합계를 나타냅니다.

즉, ROLLUP을 사용하면 여러 레벨의 합계를 한 번에 계산할 수 있어서 데이터를 더 쉽게 요약하고 분석할 수 있게 됩니다.

0개의 댓글