GROUPING SETS is an advanced GROUP BY feature that lets you calculate multiple groupings in a single query.
Instead of writing multiple GROUP BY queries with UNION ALL, you can use one query.
Why use GROUPING SETS?
- Cleaner SQL
- Better performance
- Easier reporting queries
Step 1: Basic Syntax
- Each set inside () is a separate GROUP BY
- () = grand total
Step 2: Example table
Sales Table
| SaleID | Region | Product | Amount |
|---|---|---|---|
| 1 | East | Laptop | 1000 |
| 2 | East | Mobile | 800 |
| 3 | West | Laptop | 1200 |
| 4 | West | Mobile | 700 |
| 5 | North | Laptop | 900 |
