在本教程中,将学习如何使用SQL Server GROUPING SETS生成多个分组集。
设置销售摘要表
为了方便演示,下面创建一个名为sales.sales_summary的新表。
SELECT
b.brand_name AS brand,
c.category_name AS category,
p.model_year,
round(
SUM (
quantity * i.list_price * (1 - discount)
),
0
) sales INTO sales.sales_summary
FROM
sales.order_items i
INNER JOIN production.products p ON p.product_id = i.product_id
INNER JOIN production.brands b ON b.brand_id = p.brand_id
INNER JOIN production.categories c ON c.category_id = p.category_id
GROUP BY
b.brand_name,
c.category_name,
p.model_year
ORDER BY
b.brand_name,
c.category_name,
p.model_year;
在此查询中,按品牌和类别检索销售额数据,并将其填充到sales.sales_summary表中。
以下查询从sales.sales_summary表返回数据: