Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

ROLLUP строит агрегаты-подытоги (subtotal aggregates) на каждом запрошенном уровне, включая окончательные итоги (grand total) - по сути, с помощью этого расширения осуществляется группировка по комбинациям столбцов (иерархии), то есть сначала по n столбцам, потом по n-1, ..., пустое множество и «делает union». (Пример: свертка нарастающим итогом). Все столбцы в rollup должны быть выбраны в запросе, но можно использовать не все выбранные столбцы:
select ... group by список_столбцов, rollup (список_столбцов)
Короткий запрос и эффективное выполнение (группировка по n-1 столбцам использует результаты группировки по n столбцам и т.д.)
Пример
Как правило агрегатом является сумма, но это может быть и любой другой: AVG, COUNT, MIN, MAX и др. Запрещено использование агрегатов более низких уровней. Список столбцов может содержать до 255 столбцов.

Пример:

Блок кода
sql
sql
SELECT Time, Region, Department, SUM(Profit)
FROM Sales
GROUP BY ROLLUP (Region, Department)