GROUPING SETS 對等項目
使用 GROUPING SETS 的 GROUP BY 子句所產生的結果集,對等於由多重簡單 GROUP BY 子句的 UNION ALL 所產生的結果集。GROUPING SETS 可產生與簡單 GROUP BY、ROLLUP 或 CUBE 作業對等的結果。GROUPING SETS、ROLLUP,或 CUBE 的不同組合,都可以產生對等的結果集。
本主題提供 GROUPING SETS 對等項目的範例。下列縮寫用於範例:
Agg():任何彙總函數
(arg):引數
GROUPING SETS 的 UNION ALL 對等項目
指定 GROUPING SETS (<grouping set> [,...n]) 當 GROUP BY 清單對等於查詢的 UNION ALL (根據其 GROUP BY 來設定清單群組的其中之一)。使用浮點數的彙總可能會傳回些許不同的結果。
下列陳述式是對等的:
|
|
GROUPING SETS 的簡單 GROUP BY 對等項目
下列子句傳回相同的總計:
|
|
下列子句傳回相同的單一集合:
|
|
GROUPING SETS ROLLUP 對等項目
在輸入清單中具有 n 維度的 GROUP BY ROLLUP (<composite element list>) 與 GROUPING SETS 相等,其輸入列的所有前置詞 (n+1) 與 GROUPING SETS 相等。
下列子句是對等的:
|
|
GROUPING SETS CUBE 對等項目
在輸入清單中具有 n 維度的 GROUP BY CUBE (<composite element list>) 與在其輸入清單中具有完整集合 (亦即,在其輸入清單中有 2 組 n 組合) 的 GROUPING SETS 相等。
下列子句是對等的:
|
|
下列子句是對等的:
|
|
ROLLUP 的複合資料行包含 ROLLUP 內的群組集
下列子句是對等的:
|
|
|
CUBE 的複合資料行包含 CUBE 內的群組集
下列子句是對等的:
|
|
|
包含 GROUPING SETS、ROLLUP,或 CUBE 的 GROUP BY
下列子句是對等的:
|
|
下列子句是對等的:
|
|
下列子句是對等的:
|
|
在 GROUPING SETS 清單中包含 ROLLUP
下列子句是對等的:
|
|
在群組集內包含 ROLLUP
下列子句是對等的:
|
|