按一下以給予評分及指教
TechNet
SQL Server
SQL Server 2008
Database Engine
技術參考
 GROUPING (Transact-SQL)

  開啟低頻寬檢視
社群內容
本節內容
數據 註解 (0)
全部折疊/全部展開 全部折疊
其他版本也適用於下列軟體:
SQL Server 2008 線上叢書 (2009 年 7 月)
GROUPING (Transact-SQL)

指出是否彙總 GROUP BY 清單中指定的資料行運算式。GROUPING 傳回 1 時,表示會在結果集中彙總,傳回 0 則不會。當指定 GROUP BY 時,GROUPING 只能在 SELECT <select> 清單、HAVING 和 ORDER BY 子句中使用。

主題連結圖示 Transact-SQL 語法慣例

GROUPING ( <column_expression> )
<column_expression>

這是資料行或 GROUP BY 子句中包含資料行的運算式。

tinyint

GROUPING 是用來區別 ROLLUP、CUBE 或 GROUPING SETS 傳回的 null 值與標準 null 值。因 ROLLUP、CUBE 或 GROUPING SETS 運算之結果而傳回的 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)
社群內容   什麼是社群內容?
新增內容 RSS  註解
Processing
© 2009 Microsoft Corporation. 著作權所有,並保留一切權利。 使用規定 | 商標 | 隱私權聲明
Page view tracker