下面例子所返回的结果集中，将包含每次订购的每种产品的总数量，每次订购的所有产品的总数量，所订购的每种产品的总数量，所有订购的所有产品韵总数量。使用了 GROUPING 函数以区分哪个记录是由操作符 CUBE 创建的。

USE northwind

SELECT productid, GROUPING (productid)

, orderid, GROUPING (orderid)

, SUM (quantity) AS total_quantity

FROM [order details]

GROUP BY productid, orderid

WITH CUBE

ORDER BY productid, orderid

GO

运行结果：

下面的例子对出现在 GROUP BY 子句中的字段 productid 和 orderid 使用了函数 GROUPING。在结果集中，producdd 和 orderid 字段后各有一个新字段。如果这一记录是由 CUBE 操作符创建的，则 GROUPING 函数返回 1。结果集中包含每次订购的每种产 品的总数量，每次订购的所有产品的总数量，所订购的每种产品的总数量，所有订购的所有产品的总数量。

请注意 productid 和 orderid 字段为空的记录代表所有订购的所有产品的总数量。字 段 productid 中为空的记录代表每次订购中所有产品的总数量。字段 orderid 中为空的记录代表每种产品的所有订购的总数量。

USE northwind

SELECT orderid, GROUPING (orderid), productid

, GROUPING (productid), SUM (quantity) AS total_quantity

FROM [order details]

WHERE orderid< 10250

GROUP BY orderid, productid

WITH CUBE

ORDER BY orderid, productid

GO

运行结果：