0
0
SQLquery~20 mins

Why grouping is needed in SQL - Challenge Your Understanding

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Grouping Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
Purpose of GROUP BY in SQL
Why do we use the GROUP BY clause in SQL queries?
ATo filter rows based on a condition
BTo sort the rows in ascending order
CTo join two tables together
DTo combine rows that have the same values in specified columns into summary rows
Attempts:
2 left
💡 Hint
Think about how to summarize data by categories.
query_result
intermediate
2:00remaining
Output of GROUP BY with COUNT
Given the table Sales with columns Product and Quantity, what is the output of this query?
SELECT Product, COUNT(*) FROM Sales GROUP BY Product;
SQL
Sales table data:
Product | Quantity
--------|---------
Apple   | 10
Banana  | 5
Apple   | 7
Banana  | 3
Cherry  | 8
A[{"Product": "Apple", "COUNT(*)": 2}, {"Product": "Banana", "COUNT(*)": 2}, {"Product": "Cherry", "COUNT(*)": 1}]
B[{"Product": "Apple", "COUNT(*)": 17}, {"Product": "Banana", "COUNT(*)": 8}, {"Product": "Cherry", "COUNT(*)": 8}]
C[{"Product": "Apple", "COUNT(*)": 1}, {"Product": "Banana", "COUNT(*)": 1}, {"Product": "Cherry", "COUNT(*)": 1}]
D[{"Product": "Apple", "COUNT(*)": 3}, {"Product": "Banana", "COUNT(*)": 3}, {"Product": "Cherry", "COUNT(*)": 3}]
Attempts:
2 left
💡 Hint
COUNT(*) counts rows per group, not sum of Quantity.
📝 Syntax
advanced
1:30remaining
Identify the syntax error in GROUP BY usage
Which option contains a syntax error in using GROUP BY?
SQL
Table: Employees (Name, Department, Salary)
ASELECT Department, AVG(Salary) FROM Employees GROUP BY Department;
BSELECT Department, COUNT(*) FROM Employees GROUP BY Department;
CSELECT Name, Department FROM Employees GROUP BY Department;
DSELECT Department, SUM(Salary) FROM Employees GROUP BY Department;
Attempts:
2 left
💡 Hint
Check if all selected columns are either grouped or aggregated.
optimization
advanced
2:00remaining
Optimizing GROUP BY queries with indexes
Which index will best improve performance of this query?
SELECT Department, COUNT(*) FROM Employees GROUP BY Department;
ACREATE INDEX idx_name ON Employees(Name);
BCREATE INDEX idx_department ON Employees(Department);
CCREATE INDEX idx_salary ON Employees(Salary);
DCREATE INDEX idx_department_salary ON Employees(Department, Salary);
Attempts:
2 left
💡 Hint
Think about which column is used in GROUP BY.
🔧 Debug
expert
2:30remaining
Why does this GROUP BY query fail?
Given the table Orders with columns OrderID, CustomerID, and OrderDate, why does this query fail?
SELECT CustomerID, OrderDate, COUNT(*) FROM Orders GROUP BY CustomerID;
ABecause OrderDate is neither in GROUP BY nor aggregated
BBecause CustomerID is not a valid column
CBecause COUNT(*) cannot be used with GROUP BY
DBecause GROUP BY requires ORDER BY clause
Attempts:
2 left
💡 Hint
Check if all selected columns are grouped or aggregated.