GROUP BY

Intermediate
10 min

What is GROUP BY?

GROUP BY groups rows that have the same values into summary rows, used with aggregate functions like COUNT, SUM, AVG.

Key Components:

  • Groups rows by column values
  • Used with aggregate functions
  • Creates summary reports
  • HAVING filters groups

Why it matters

Summarize Data

Total sales by product

Count Records

Number of orders per customer

Averages

Average price by category

Reports

Create summary reports

Key Concepts

GROUP BY

Groups identical values

Example: GROUP BY Product...

COUNT

Counts rows per group

Example: COUNT(*)...

SUM

Adds values per group

Example: SUM(Sales)...

HAVING

Filters groups

Example: HAVING SUM(Sales) > 1000...

How to use

1

Write SELECT

Include GROUP BY column

2

Add aggregate

COUNT, SUM, or AVG

3

Write FROM

Specify table

4

Add GROUP BY

List grouping columns

5

Add HAVING

Optional group filter

6

Add ORDER BY

Sort results

Example

Goal: Total sales by product
SELECT Product, SUM(Sales) FROM Orders GROUP BY Product ORDER BY SUM(Sales) DESC
Result: Products listed with their total sales, highest first

Pro Tips

  • All non-aggregates in GROUP BY: Every column in SELECT must be in GROUP BY
  • Use HAVING: For group filters, not WHERE
  • Use aliases: Make output clearer

Practice

Find number of orders per customer, show only customers with >5 orders