В случае агрегатных функций мы как результат получаем одну строку, а вот чтобы получить ряд строк в результате применения агрегатных функций – используется группировка данных. Предложение GROUP BY позволяет определять подмножество значений в поле и применять функция агрегата к подмножеству.
Пример. Выведем не одного продавца с его максимальной суммой продажи, а всех продавцов с максимальными суммами:

Здесь все поля с одинаковыми значениями snum собираются в свои группы, потом в этих группах отбирается соответственно по одному максимальному значению.