Aggregation vocabulary

  • GROUP BY col — one result row per unique value; use with COUNT/SUM/AVG/MIN/MAX
  • WHERE — filters rows before grouping; HAVING — filters groups after aggregation
  • COUNT(*) — counts all rows; COUNT(col) — counts non-null values only
  • SQL clause order: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT
  • COUNT(DISTINCT col) — count unique non-null values in a column

Question 0 of 5

Describe what this query returns:

SELECT status, COUNT(*) AS order_count FROM orders GROUP BY status;