【问题标题】:SQL Server - How to use grouping sets with duplicate null columnsSQL Server - 如何使用具有重复空列的分组集
【发布时间】:2014-08-20 15:03:21
【问题描述】:

通读 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

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

【问题讨论】:

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


    【解决方案1】:

    照原样,您将无法区分它们,但是第 158 页继续解释了可用于区分组的 GROUPING_ID 函数的使用。

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

    【讨论】:

      猜你喜欢
      • 2021-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-09
      相关资源
      最近更新 更多