- ROLLUP()
- 주어진 데이터들의 소계를 구해준다.
- SELECT no, sum(pay) FROM test GROUP BY ROLLUP(no);
- 주어진 데이터들의 소계를 구해준다.
- CUBE()
- 주어진 데이터들의 소계와 총계를 구해준다.
- SELECT no, sum(pay) FROM test GROUP BY CUBE(no);
- 주어진 데이터들의 소계와 총계를 구해준다.
- GROUPING()
- 컬럼이 해당 그룹핑 작업에 사용되었는지 아닌지를 구별해주는 함수, 컬럼이 그룹핑 작업에 사용되었으면 0을 반환하고 사용되지 않았으면 1을 반환한다.
- SELECT no, sum(pay), GROUPING(no) FROM test GROUP BY ROLLUP(no);
- 컬럼이 해당 그룹핑 작업에 사용되었는지 아닌지를 구별해주는 함수, 컬럼이 그룹핑 작업에 사용되었으면 0을 반환하고 사용되지 않았으면 1을 반환한다.
- LISTAGG()
- 여러개의 행을 하나의 컬럼으로 합친다.
- SELECT no, LISTAGG(name, '*') WITHIN GROUP(ORDER BY hiredate) FROM test GROUP BY no;
- 여러개의 행을 하나의 컬럼으로 합친다.
- PIVOT()
- ROW를 COLUMN 단위로 변경한다.
- SELECT * FROM (SELECT c_week "주", c_day, c_num_day FROM t_cal) pivot(max(c_num_day) FOR c_day IN ('일' AS "일",'월' AS "월",'화' AS "화",'수' AS "수",'목' AS "목",'금' AS "금",'토' AS "토")) ORDER BY "주";
- ROW를 COLUMN 단위로 변경한다.
- UNPIVOT()
- COLUMN을 ROW 단위로 변경한다.
old posting/MySQL