마케팅스프린트
[ GitHub ]

[ jungyijun@naver.com ]


  • Category
    • 마케팅 자동화
    • old posting
      • ChatGPT
      • Java
      • MySQL
      • JSP
      • Spring Framework
      • Node.js
Total
Today
Yesterday
hELLO · Designed By 정상우.
old posting/MySQL

[SQL] ROLLUP(), CUBE(), GROUPING() 그리고 PIVOT(), UNPIVOT()

2021. 6. 2. 18:07
  • 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);
  • 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 "주";
  • UNPIVOT()
    • COLUMN을 ROW 단위로 변경한다.
저작자표시 (새창열림)
'old posting/MySQL' 카테고리의 다른 글
  • [SQL] INDEX와 INDEX의 종류 그리고 주의 사항
  • [SQL] 정규화
  • [SQL] 정규화의 이상 그리고 함수적 종속
  • [SQL] 계층형 쿼리(Hierarchy Query)
마케팅스프린트
마케팅스프린트
쿠팡, 스마트스토어 자동화 솔루션

티스토리툴바