ROLLUP adds extra rows to the result set that show subtotals and a grand total for grouped data.
Click to reveal answer
intermediate
How does ROLLUP affect the GROUP BY clause?
ROLLUP extends GROUP BY by creating grouping sets that include all levels of aggregation from detailed groups up to a grand total.
Click to reveal answer
beginner
In MySQL, what value appears in the ROLLUP subtotal rows for the grouped columns?
The grouped columns in subtotal rows show NULL to indicate aggregation over all values in that column.
Click to reveal answer
beginner
Write a simple SQL query using ROLLUP to get sales totals by region and product.
SELECT region, product, SUM(sales) AS total_sales FROM sales_table GROUP BY region, product WITH ROLLUP;
Click to reveal answer
beginner
Why is ROLLUP useful in reports?
ROLLUP helps create reports that show detailed data plus subtotals and grand totals in one query, saving extra calculations.
Click to reveal answer
What does the ROLLUP operator add to a GROUP BY query?
AOnly detailed rows
BOnly grand total row
CSubtotals and grand totals
DNo additional rows
✗ Incorrect
ROLLUP adds subtotal rows for each grouping level and a grand total row.
In a ROLLUP result, what does a NULL value in a grouped column mean?
AMissing data
BError in query
CNo rows matched
DSubtotal or total for that column
✗ Incorrect
NULL indicates the subtotal or total row for that grouped column.
Which SQL clause is extended by ROLLUP?
AGROUP BY
BWHERE
CORDER BY
DHAVING
✗ Incorrect
ROLLUP extends the GROUP BY clause to add subtotals and totals.
What keyword is used in MySQL to enable ROLLUP?
AWITH ROLLUP
BROLLUP ON
CGROUP BY ROLLUP
DROLLUP ENABLE
✗ Incorrect
MySQL uses WITH ROLLUP after GROUP BY to enable rollup subtotals.
If you GROUP BY region, product WITH ROLLUP, which row is NOT included?
ASubtotal by region
BSubtotal by product
CGrand total
DDetailed rows by region and product
✗ Incorrect
ROLLUP creates subtotals by region and grand total, but not subtotal by product alone.
Explain how the ROLLUP operator works in SQL and why it is useful for generating subtotals and totals.
Think about how ROLLUP adds extra rows to grouped results.
You got /4 concepts.
Write a SQL query using ROLLUP to show sales totals by two categories and explain the output rows you expect.
Use GROUP BY with two columns and WITH ROLLUP.
You got /4 concepts.
Practice
(1/5)
1. What does the ROLLUP keyword do in a MySQL GROUP BY query?
easy
A. It adds subtotal and total rows automatically in the grouped result.
B. It filters out NULL values from the result set.
C. It sorts the result set in descending order.
D. It creates a backup of the grouped data.
Solution
Step 1: Understand GROUP BY basics
GROUP BY groups rows by column values to aggregate data.
Step 2: Role of ROLLUP in GROUP BY
ROLLUP adds extra rows showing subtotals and grand totals for grouped data.
Final Answer:
It adds subtotal and total rows automatically in the grouped result. -> Option A
Quick Check:
ROLLUP = subtotals and totals [OK]
Hint: ROLLUP adds summary rows automatically [OK]
Common Mistakes:
Thinking ROLLUP filters data
Confusing ROLLUP with ORDER BY
Assuming ROLLUP creates backups
2. Which of the following is the correct syntax to use ROLLUP in a MySQL query?
easy
A. SELECT category, SUM(amount) FROM sales GROUP BY ROLLUP(category);
B. SELECT category, SUM(amount) FROM sales ROLLUP GROUP BY category;
C. SELECT category, SUM(amount) FROM sales GROUP BY category WITH ROLLUP;
D. SELECT category, SUM(amount) FROM sales GROUP BY category ROLLUP;
Solution
Step 1: Recall correct ROLLUP syntax
In MySQL, ROLLUP is used as GROUP BY ... WITH ROLLUP.
Step 2: Analyze each option
SELECT category, SUM(amount) FROM sales GROUP BY category WITH ROLLUP; uses GROUP BY category WITH ROLLUP, which is correct syntax. Others misuse ROLLUP placement or syntax.
Final Answer:
SELECT category, SUM(amount) FROM sales GROUP BY category WITH ROLLUP; -> Option C
Quick Check:
ROLLUP goes after GROUP BY with WITH keyword [OK]
Hint: Use 'GROUP BY ... WITH ROLLUP' syntax [OK]
Common Mistakes:
Placing ROLLUP before GROUP BY
Using ROLLUP as a function
Omitting WITH keyword
3. Given the table sales with columns region, product, and amount, what will be the output of this query?
SELECT region, product, SUM(amount) AS total_sales
FROM sales
GROUP BY region, product WITH ROLLUP;
medium
A. Rows grouped by region and product, plus subtotals by region and a grand total row with NULLs.
B. Only rows grouped by region and product without any subtotal or total rows.
C. Rows grouped by product only, ignoring region.
D. Syntax error due to incorrect use of ROLLUP.
Solution
Step 1: Understand GROUP BY with multiple columns and ROLLUP
ROLLUP creates subtotals for each grouping level: first by region and product, then by region only, then grand total.
Step 2: Interpret NULL values in output
Subtotal rows have NULL in the column(s) rolled up. The grand total row has NULL in both region and product.
Final Answer:
Rows grouped by region and product, plus subtotals by region and a grand total row with NULLs. -> Option A
Quick Check:
ROLLUP adds subtotal and total rows with NULL markers [OK]
Hint: ROLLUP adds subtotal rows with NULLs in rolled-up columns [OK]
Common Mistakes:
Expecting no subtotal rows
Confusing grouping levels
Thinking NULL means missing data
4. You wrote this query but it gives an error:
SELECT region, product, SUM(amount) FROM sales GROUP BY region, product ROLLUP;
What is the error and how to fix it?
medium
A. ROLLUP cannot be used with multiple columns in GROUP BY.
B. GROUP BY clause must come after WHERE clause.
C. SUM() function is not allowed with ROLLUP.
D. ROLLUP must be used with the keyword WITH after GROUP BY.
Solution
Step 1: Identify syntax error in ROLLUP usage
ROLLUP must be used as GROUP BY ... WITH ROLLUP, not just appended after GROUP BY columns.
Step 2: Correct the query syntax
Change query to GROUP BY region, product WITH ROLLUP to fix the error.
Final Answer:
ROLLUP must be used with the keyword WITH after GROUP BY. -> Option D
Quick Check:
ROLLUP requires WITH keyword [OK]
Hint: Use 'WITH ROLLUP' after GROUP BY columns [OK]
Common Mistakes:
Omitting WITH keyword
Misplacing ROLLUP before GROUP BY
Thinking ROLLUP disallows multiple columns
5. You want to get sales totals by region and product, plus subtotals by region and a grand total. Which query correctly uses ROLLUP and filters out only the grand total row from the result?
hard
A. SELECT region, product, SUM(amount) FROM sales GROUP BY region, product WITH ROLLUP HAVING region IS NOT NULL;
B. SELECT region, product, SUM(amount) FROM sales GROUP BY region, product WITH ROLLUP HAVING NOT (region IS NULL AND product IS NULL);
C. SELECT region, product, SUM(amount) FROM sales GROUP BY region, product WITH ROLLUP HAVING product IS NOT NULL;
D. SELECT region, product, SUM(amount) FROM sales GROUP BY region, product WITH ROLLUP HAVING region IS NULL AND product IS NULL;
Solution
Step 1: Understand ROLLUP output rows
ROLLUP adds subtotal rows with NULLs in rolled-up columns; grand total row has NULL in all grouped columns.
Step 2: Filter out only the grand total row
The grand total row has both region and product as NULL. To exclude it, use HAVING NOT (region IS NULL AND product IS NULL).
Final Answer:
SELECT region, product, SUM(amount) FROM sales GROUP BY region, product WITH ROLLUP HAVING NOT (region IS NULL AND product IS NULL); -> Option B
Quick Check:
Exclude grand total by filtering NULLs in all grouping columns [OK]
Hint: Exclude grand total by HAVING NOT all grouping columns NULL [OK]
Common Mistakes:
Filtering only one column NULL
Filtering to keep only grand total instead of excluding
Using WHERE instead of HAVING with GROUP BY
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.