MySQL 결과 집합 자체에서 열의 요약 출력을 얻으려면 "WITH ROLLUP" 수정자를 사용하면 됩니다. 이 수정자는 GROUP BY 절과 함께 사용되며, 상위 수준의 요약 연산을 나타내는 추가 행을 포함한 요약 출력을 제공합니다.
WITH ROLLUP의 동작 방식
WITH ROLLUP은 일반적인 GROUP BY 결과 뒤에 각 그룹별 소계와 전체 총계를 나타내는 행을 자동으로 추가합니다. 이때 요약 행의 그룹화 기준 열 값은 NULL로 표시되므로, 어떤 행이 요약 행인지 쉽게 구분할 수 있습니다.
예시
다음 예제에서 WITH ROLLUP 수정자를 적용하면 마지막 행에 전체 비용 합계가 포함된 요약 출력이 함께 표시됩니다.
mysql> Select Item_name, SUM(Cost) AS Total_cost from Item_list GROUP BY Item_name WITH ROLLUP; +-----------+------------+ | Item_name | Total_cost | +-----------+------------+ | Notebook | 45.00 | | Pen | 31.70 | | Pencilbox | 125.20 | | NULL | 201.90 | +-----------+------------+ 4 rows in set (0.00 sec)
위 결과에서 NULL이 표시된 마지막 행은 모든 항목의 비용 총액인 201.90을 의미합니다. 이처럼 WITH ROLLUP을 활용하면 별도의 추가 쿼리 없이 하나의 결과 집합에서 그룹별 합계와 전체 총계를 한 번에 확인할 수 있습니다.