ROLLUP 함수는 간단하게 GROUP BY 절에서 중간합계를 구하고 싶을때 사용한다.

 

기본적인 패턴은 아래처럼 사용한다.

SELECT group by절로 묶을 열, 집계함수를 사용할 열 등 FROM 테이블 GROUP BY group by절로 묶을 열 WITH ROLLUP; 
 

이렇게 사용하게 group by절로 묶인 열의 중간합계를 보여준뒤에 최종합계 나오게된다.

SELECT num, groupName, SUM(price*amount); FROM buyTbl GROUP BY groupName, num WITH ROLLUP; 

실행시켜보면 중간중간에 각 그룹의 소합계를 알려준다.

 

ROLLUP절은 ORDER BY 절과는 사용할수 없으며, 

LIMIT를 사용할 경우 결과가 해석하기 어렵게 나올수 있기 때문에 사용할때 주의 하여야 한다.

 

 

'SQL > mysql' 카테고리의 다른 글

정렬 및 검색 조건 (IS NULL, ORDER BY, LIMIT)  (0) 2021.02.07
정규표현식 (REGEXP)  (0) 2021.02.07
테이블 복사 (TABLE COPY)  (0) 2017.10.03
조인 (JOIN @INNER JOIN)  (0) 2017.09.29
CAST(), CONVERT()  (0) 2017.09.29