GROUPING (Transact-SQL)
聚合函数;当行由 CUBE 或 ROLLUP 运算符添加时,该函数将导致附加列的输出值为 1;当行不由 CUBE 或 ROLLUP 运算符添加时,该函数将导致附加列的输出值为 0。
仅在与包含 CUBE 或 ROLLUP 运算符的 GROUP BY 子句相关联的选择列表中才允许分组。
语法
GROUPING ( column_name )
参数
- column_name
GROUP BY 子句中的列,用于测试 CUBE 或 ROLLUP 空值。
返回类型
tinyint
备注
分组用于区分由标准空值产生的 CUBE 和 ROLLUP 所返回的空值。作为 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
位于 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)