GROUP BY grupuje wiersze, które mają wspólną wartość, dzięki czemu funkcje agregujące obliczają wyniki dla każdej grupy. HAVING filtruje te grupy (jak WHERE, ale dla grup/agregatów). Razem stanowią rdzeń podsumowania i analizy danych według kategorii.
GROUP BY — agregacja na grupę
country, () user_count, (age) avg_age
users
country;
