SQL Server - 如何使用具有重复空列的分组集

时间:2014-08-20 15:03:21

标签: sql sql-server sql-server-2008 group-by

阅读70-461培训套件,在第155页上,分组集的示例显示以下查询

Select shipperid, year(shipdate), count(*)
from sales.orders
group by grouping sets 
(
    (shipperid,YEAR(shipdate)),
    (shipperid),
    (year(shipdate))
    ()
)

返回包含以下两行的数据集:

shipperid  shipyear  numorders
NULL       NULL      21
(...)
NULL       NULL      830

我理解为什么会发生这种情况(因为为查询定义了不同的集合),但是想知道当两个值无法区分它们时如何使用它?

1 个答案:

答案 0 :(得分:2)

原样,你无法区分它们,但是第158页继续解释使用GROUPING_ID函数可以用来区分这些组。

http://msdn.microsoft.com/en-us/library/bb510624.aspx