Aggregation and GROUP BY
Summarise thousands of rows into the handful of numbers that matter.
What you will be able to do
- Use COUNT, SUM, AVG
- Group and filter groups
- Understand HAVING vs WHERE
Aggregate functions collapse rows into values. GROUP BY defines the buckets; HAVING filters the buckets after aggregation.
SELECT course_slug,
COUNT(*) AS total,
ROUND(AVG(minutes), 1) AS avg_minutes,
SUM(minutes) AS total_minutes
FROM lessons
WHERE level = 'Beginner'
GROUP BY course_slug
HAVING COUNT(*) >= 3
ORDER BY avg_minutes DESC;Your turn
HardAverage lesson length
Return each course_slug and its average lesson minutes, only for courses with at least 3 lessons.
SQL · starter
SELECT course_slug, AVG(minutes)
FROM lessonsCheck your understanding before moving on.
Knowledge checkQuestion 1
Which clause filters aggregated groups?
Select an answer to continue
Study tools
Make it yours.
Keep a private note for this lesson, then turn the key ideas into flashcards you can revisit.
Sign in to save notes and flashcards.Both are private to your account and stay with your progress.
Sign inFinished reading?
Lock in what you just learned.
0%
Mark this lesson complete to save your place and move one step closer to the certificate.