資料庫的 CUBE / ROLLUP 用法

資料庫的 CUBE / ROLLUP 這兩種參數, 之前都沒用過, 之前跟人聊到才知道, 聽說在 Data Warehouse 很常用.

在此也沒做很深入的研究, 先把當初對話內容做的筆記, 有用到時再來翻~

CUBE / ROLLUP 範例

CUBE 的作用(通常會搭配 GROUP BY 一起用)

  • 範例: GROUP BY(A, B, C) WITH CUBE
  • 結果: 先做GROUP BY(A, B, C), 再做 (A,B), 再做 (A), 接下來(B,C) (B) (C)

ROLLUP 和 CUBE 差異?

  • ROLLUP 沒做排列組合, 只做GROUP BY(A, B, C), 再做 (A,B), 再做 (A)
  • 註: ROLLUP 沒做(B,C)  (B) (C)

資料庫 的 CUBE / ROLLUP 支援度

  • MySQL 目前只支援 ROLLUP: MySQL GROUP BY Modifiers
  • 用法: SELECT year, SUM(profit) FROM sales GROUP BY year WITH ROLLUP

想用 CUBE 可以考慮 PostgreSQL: PostgreSQL 8.4rc1 Documentation CUBE

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈資料庫的 CUBE / ROLLUP 用法〉中有 2 則留言

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料