Синтаксис GROUP BY и GROUP BY ALL отличается следующим образом:
- GROUP BY собирает в одну строку все выбранные строки, выдающие одинаковые значения для выражений группировки. 4 В качестве выражения может выступать имя входного столбца, либо имя или порядковый номер выходного столбца (из списка элементов SELECT), либо произвольное значение, вычисляемое по значениям входных столбцов. 4
- GROUP BY ALL указывает, что для группировки следует использовать все элементы в списке SELECT, не использующие агрегатные функции. 35 При этом сохраняются пустые группы, отфильтрованные предложением WHERE. 2
Таким образом, основное отличие в том, что GROUP BY фокусируется на конкретной группировке, а GROUP BY ALL — на сохранении всех групп, включая те, которые не соответствуют условию фильтра. 12