본문 바로가기

Programming/postgreSQL

postgreSQL GROUPING CUBE ROLLUP SQL 실행 순서

728x90
SELECT BRAND
  , PRODUCT
  ,  SUM(SALES)
FROM COMPANY
GROUP BY GROUPING SETS(
  (BRAND, PRODUCT)
  , (BRAND)
  , (PRODUCT)
  , ()
)
ORDER BY BRAND
  , PRODUCT
   
..
GROUP BY CUBE(BRAND, PRODUCT)
..

..
GROUP BY GROUPING SETS(
  (BRAND, PRODUCT)
  , (BRAND)
  , ()
)
..

..
GROUP BY ROLLUP(BRAND, PRODUCT)
..

첫 번째, 두 번째는 동일한 결과이고 세 번째, 네 번째도 동일한 결과

GROUPING SETS는 괄호 안에 지정한 형식으로 GROUP을 설정하여 통계

CUBE는 괄호 안의 파라미터로 모든 가능한 GROUPING SETS의 형식을 지정

ROLLUP은 괄호 안의 순서대로 GROUP을 설정하여 통계

 

※ postgreSQL SQL 실행 순서 (postgreSql SQL order of execution)

FROM → WHERE → GROUP BY → HAVING → SELECT
→ DISTINCT → ORDER BY → FETCH(LIMIT)

728x90