Разница между использованием агрегатных функций в запросах без GROUP BY и с GROUP BY заключается в том, как эти функции применяются к данным. 1
Без GROUP BY: агрегатные функции, включенные в предложение SELECT, исполняются над всеми результирующими строками запроса. 1 Все столбцы с именами, упомянутыми в SELECT, должны быть включены в агрегатные функции. 1
С GROUP BY: каждый набор строк, который имеет одинаковые значения столбца или группы столбцов, заданных в предложении GROUP BY, составляет группу. 1 Агрегатные функции выполняются для каждой группы отдельно. 1 Все столбцы списка SELECT, не вошедшие в агрегатные функции, должны быть указаны в предложении GROUP BY. 1
Таким образом, без GROUP BY агрегатные функции работают со всем набором строк, а с GROUP BY — с группами строк, определёнными по определённым критериям. 14