下面的例子列出了表 order details 中所有的记录，并对每种产品的数量进行汇总。

USE northwind

SELECT productid, orderid, SUM (quantity) AS total_quantity

FROM [order details]

GROUP BY productid, orderid

WITH ROLLUP

ORDER BY productid, orderid

GO

下面的例子列出了表 order details 中的订购信息。查询使用了包含 GROUP BY 子句 的 SELECT 语句，但没有使用 ROLLUP 操作符。这个例将返回每次订购时每种产品的订购总数量，且订购 ID 小于 10250 的所有记录。

USE northwind

SELECT orderid, productid, SUM(quantity)AS total_quantity

FROM [order details]

WHERE orderid < 10250

GROUP BY orderid, productid

ORDER BY orderid, productid

GO

运行结果：

下面的例子给前面一个例子中的查询增加了 ROLLUP 操作符。所返回的结果集包括：

l 每次订购中每种产品的数量 (没有 ROLLUP 操作符的 GROUPBY 也会返回 这些信息)：

l 每次订购中的所有产品的总数量：

l 所有订购的所有产品的总数量。

请注意结果集中， prductid 和 orderid 字段为空的记录代表所有订购的所有产品的总 数量。字段 produtcid 中为空的记录代表每次订购中所有产品的总数量。

USE northwind

SELECT orderid, productid, SUM (quantity) AS total_quantity

FROM [order details]

WHERE orderid < 10250

GROUP BY orderid, productid

WITH ROLLUP

ORDER BY orderid, productid

GO

运行结果：