GROUP BY scala rekordy o tych samych wartościach wskazanych na liście kolumn przy instrukcji SELECT. Klauzula ta nie jest obowiązkowa. Bardzo często łączy się ją z funkcjami agregacji oraz z klauzulą HAVING, która pozwala przefiltrować rekordy po ich zgrupowaniu.
SELECT column_name, aggregate_function(column_name) FROM TABLE_NAME WHERE column_name operator VALUE GROUP BY column_name