SQL Practice Logo

SQLPractice Online

Multiple Aggregates & Complex Grouping: Mistakes

Module: Aggregate Functions & Grouping

SELECT department, job_title, COUNT(*) FROM employees GROUP BY department;

SELECT department, job_title, COUNT(*) FROM employees GROUP BY department, job_title;

Every non-aggregate column in SELECT must be in GROUP BY clause.

All SELECT columns must be in GROUP BY or inside aggregate

High

Column "job_title" must appear in GROUP BY

SELECT department, COUNT(*) FROM employees GROUP BY department, job_title, hire_date, employee_id;

SELECT department, COUNT(*) FROM employees GROUP BY department;

Including employee_id creates one group per employee (useless). Choose appropriate grouping level.

Group at right level - not too detailed, not too broad

High

Too many grouping columns creates one row per employee