GROUPING SETS и ROLLUP в PostgreSQL отличаются по своему действию при группировке данных: 14
- GROUPING SETS группирует получаемые наборы отдельно. 1 Данные, выбранные предложениями FROM и WHERE, группируются отдельно для каждого заданного набора группирования, затем для каждой группы вычисляются агрегатные функции и в конце возвращаются результаты. 4
- ROLLUP добавляет суммирующую строку в результирующий набор. 1 При группировке по нескольким критериям ROLLUP будет создавать суммирующую строку для каждой из подгрупп. 1
Таким образом, GROUPING SETS позволяет создавать отдельные группы, а ROLLUP — добавлять суммирующую строку. 14