Field Manual PHP / Laravel reference
← SQL

GROUP BY

GROUP BY collects rows for aggregate calculations.

What it is

GROUP BY collects rows for aggregate calculations.

When to use it

Summarize by customer, status, or currency.

Syntax

SELECT user_id, SUM(total_cents) FROM orders GROUP BY user_id;

Example

SELECT user_id, COUNT(*) AS order_count, SUM(total_cents) AS total_cents
FROM orders WHERE status = 'paid'
GROUP BY user_id HAVING COUNT(*) >= 2;

Common mistakes

Group all nonaggregated selected columns; WHERE filters rows, HAVING filters groups.

Related topics

Browse SQL