GROUPING (Transact-SQL)
這是一個彙總函數,當資料行是 CUBE 或 ROLLUP 運算子所加入時,會使一個其他資料行輸出 1 值;當資料行不是 CUBE 或 ROLLUP 的結果時,便輸出 0。
只有允許在包含與 CUBE 或 ROLLUP 運算子之 GROUP BY 子句相關聯的選取清單中進行分組。
語法
GROUPING ( column_name )
引數
- column_name
這是 GROUP BY 子句中,用來測試 CUBE 或 ROLLUP Null 值的資料行。
傳回類型
tinyint
備註
分組用來區分 CUBE 和 ROLLUP 傳回的 Null 值與標準 Null 值。因 CUBE 或 ROLLUP 運算之結果而傳回的 NULL 是 NULL 的特殊使用。這用來作為結果集中的資料行預留位置,代表全部。
範例
下列範例會分組 SalesQuota
和彙總 SaleYTD
數量。GROUPING
函數套用在 SalesQuota
資料行上。
USE AdventureWorks;
GO
SELECT SalesQuota, SUM(SalesYTD) 'TotalSalesYTD', GROUPING(SalesQuota) AS 'Grouping'
FROM Sales.SalesPerson
GROUP BY SalesQuota WITH ROLLUP;
GO
結果集在 SalesQuota
之下顯示兩個 Null 值。第一個 NULL
代表資料表中這個資料行的 Null 值群組。第二個 NULL
位在 ROLLUP 作業所加入的摘要資料列中。摘要資料列會顯示所有 SalesQuota
群組的 TotalSalesYTD
數量,由 Grouping
資料行中的 1
來表示。
以下為結果集:
SalesQuota TotalSalesYTD Grouping
--------- ------------- --------
NULL 1533087.5999 0
250000.00 33461260.59 0
300000.00 9299677.9445 0
NULL 44294026.1344 1
(4 row(s) affected)
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2006 年 12 月 12 日 |
|
請參閱
參考
彙總函數 (Transact-SQL)
SELECT (Transact-SQL)