Summary: in this tutorial, you will learn how to use the SQL Server GROUPING SETS to generate multiple grouping sets.
Setup a sales summary table #
Let’s create a new table named sales.sales_summary for the demonstration.
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;
Code language: SQL (Structured Query Language) (sql)In this query, we retrieve the sales amount data by brand and category and populate it into the sales.sales_summary table.
The following query returns data from the sales.sales_summary table:
SELECT
*
FROM
sales.sales_summary
ORDER BY
brand,
category,
model_year;Code language: SQL (Structured Query Language) (sql)