Bird
Raised Fist0
SQLquery~5 mins

Combining multiple aggregates in SQL - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What does the term aggregate function mean in SQL?
An aggregate function performs a calculation on a set of values and returns a single value, like SUM, COUNT, AVG, MIN, or MAX.
Click to reveal answer
beginner
How can you combine multiple aggregate functions in one SQL query?
You can list multiple aggregate functions separated by commas in the SELECT clause, for example: SELECT COUNT(*), AVG(price) FROM products;
Click to reveal answer
intermediate
Why do we use GROUP BY with aggregate functions?
GROUP BY groups rows that have the same values in specified columns so aggregate functions can calculate results for each group separately.
Click to reveal answer
intermediate
What will this query return?
SELECT department, COUNT(*), AVG(salary) FROM employees GROUP BY department;
It returns each department's name, the number of employees in that department, and the average salary of employees in that department.
Click to reveal answer
intermediate
Can you combine aggregate functions without GROUP BY? What happens?
Yes, you can combine aggregates without GROUP BY. The functions will calculate over the entire table and return one row with combined results.
Click to reveal answer
Which SQL clause is used to group rows for aggregate calculations?
AGROUP BY
BORDER BY
CWHERE
DHAVING
What does this query return?
SELECT COUNT(*), SUM(quantity) FROM sales;
AAverage quantity and total sales
BNumber of unique products and total quantity
CNumber of sales rows and total quantity sold
DList of sales rows
Can you use multiple aggregate functions in one SELECT statement?
AOnly if you use subqueries
BNo, only one aggregate per query
COnly with JOINs
DYes, separated by commas
What happens if you use aggregate functions without GROUP BY?
AIt groups by all columns automatically
BAggregates calculate over the whole table and return one row
CAggregates calculate per each row
DQuery returns an error
Which of these is NOT an aggregate function?
ASELECT
BMAX
CCOUNT
DSUM
Explain how to combine multiple aggregate functions in a single SQL query and when to use GROUP BY.
Think about how to get counts and averages per category.
You got /4 concepts.
    Describe what happens when you use aggregate functions without a GROUP BY clause.
    Consider the whole table as one group.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does combining multiple aggregate functions in a single SQL query allow you to do?
      easy
      A. Get several summary values like totals and averages in one result
      B. Run multiple queries at the same time
      C. Create new tables automatically
      D. Sort data without using ORDER BY

      Solution

      1. Step 1: Understand aggregate functions

        Aggregate functions like SUM() and AVG() calculate summary values from data.
      2. Step 2: Combining aggregates in one query

        Using commas, you can list multiple aggregates in SELECT to get many summaries at once.
      3. Final Answer:

        Get several summary values like totals and averages in one result -> Option A
      4. Quick Check:

        Multiple aggregates = multiple summaries [OK]
      Hint: Use commas to separate aggregates in SELECT [OK]
      Common Mistakes:
      • Thinking multiple queries run simultaneously
      • Confusing aggregates with table creation
      • Assuming aggregates sort data automatically
      2. Which of the following is the correct syntax to combine multiple aggregates in one SQL SELECT statement?
      easy
      A. SELECT SUM(price) AND AVG(price) FROM sales;
      B. SELECT SUM(price), AVG(price) FROM sales;
      C. SELECT SUM(price) AVG(price) FROM sales;
      D. SELECT SUM(price) OR AVG(price) FROM sales;

      Solution

      1. Step 1: Check aggregate separation

        Aggregates must be separated by commas in SELECT clause.
      2. Step 2: Identify correct syntax

        SELECT SUM(price), AVG(price) FROM sales; uses commas correctly; others use AND, OR, or no separator which is invalid.
      3. Final Answer:

        SELECT SUM(price), AVG(price) FROM sales; -> Option B
      4. Quick Check:

        Aggregates separated by commas [OK]
      Hint: Separate aggregates with commas, not AND/OR [OK]
      Common Mistakes:
      • Using AND or OR instead of commas
      • Omitting commas between aggregates
      • Writing aggregates without any separator
      3. Given the table orders with column amount, what will this query return?
      SELECT COUNT(*), MAX(amount), MIN(amount) FROM orders;
      medium
      A. Number of rows, highest amount, lowest amount
      B. Sum of amounts, average amount, number of rows
      C. Only the highest amount
      D. Syntax error due to multiple aggregates

      Solution

      1. Step 1: Understand each aggregate

        COUNT(*) counts rows, MAX(amount) finds highest value, MIN(amount) finds lowest value.
      2. Step 2: Combine results

        All three aggregates return one row with three summary values: count, max, and min.
      3. Final Answer:

        Number of rows, highest amount, lowest amount -> Option A
      4. Quick Check:

        COUNT, MAX, MIN = count, max, min [OK]
      Hint: Each aggregate returns one summary value in the result [OK]
      Common Mistakes:
      • Confusing COUNT(*) with SUM(amount)
      • Expecting multiple rows instead of one
      • Thinking multiple aggregates cause syntax error
      4. Identify the error in this SQL query:
      SELECT SUM(price), AVG(price) FROM sales GROUP BY category;
      medium
      A. No error, query is correct
      B. Cannot use SUM and AVG together
      C. Missing GROUP BY column in SELECT clause
      D. GROUP BY should be after WHERE clause

      Solution

      1. Step 1: Check GROUP BY usage

        When using GROUP BY category, category must appear in SELECT to show groups.
      2. Step 2: Identify missing column

        Query selects only aggregates but misses category column, causing error or unexpected output.
      3. Final Answer:

        Missing GROUP BY column in SELECT clause -> Option C
      4. Quick Check:

        GROUP BY columns must appear in SELECT [OK]
      Hint: Include GROUP BY columns in SELECT list [OK]
      Common Mistakes:
      • Omitting GROUP BY column in SELECT
      • Thinking SUM and AVG can't be combined
      • Misplacing GROUP BY clause
      5. You want to find the total sales, average sales, and number of sales for each product category in a sales table with columns category and amount. Which query correctly combines these aggregates?
      hard
      A. SELECT category, SUM(amount) AND AVG(amount) AND COUNT(*) FROM sales GROUP BY category;
      B. SELECT SUM(amount), AVG(amount), COUNT(*) FROM sales;
      C. SELECT category, SUM(amount), AVG(amount), COUNT(*) FROM sales;
      D. SELECT category, SUM(amount), AVG(amount), COUNT(*) FROM sales GROUP BY category;

      Solution

      1. Step 1: Include category in SELECT and GROUP BY

        To get aggregates per category, category must be in SELECT and GROUP BY.
      2. Step 2: Combine aggregates with commas

        SUM(amount), AVG(amount), COUNT(*) are combined with commas to get totals, averages, and counts.
      3. Final Answer:

        SELECT category, SUM(amount), AVG(amount), COUNT(*) FROM sales GROUP BY category; -> Option D
      4. Quick Check:

        GROUP BY category with aggregates = SELECT category, SUM(amount), AVG(amount), COUNT(*) FROM sales GROUP BY category; [OK]
      Hint: Group by category and list aggregates with commas [OK]
      Common Mistakes:
      • Missing GROUP BY clause
      • Using AND instead of commas between aggregates
      • Not including category in SELECT when grouping