Оператор ROLLUP

Оператор ROLLUP обеспечивает агрегаты и суперагрегаты для выражений в инструкции GROUP BY. Оператор ROLLUP может использоваться разработчиками отчетов для извлечения статистики и сводных данных из наборов результатов.

Накопительные агрегаты могут использоваться в отчетах, диаграммах и графиках.

  • ROLLUP – это расширение предложения GROUP BY.
  • Используйте операцию ROLLUP для создания накопительных агрегатов, таких как промежуточные итоги.

Оператор ROLLUP создает группирования, перемещаясь в одном направлении, справа налево, вдоль списка столбцов, заданных в предложении GROUP BY. Затем к этим группированиям применяется функция агрегирования.

Примечание

  • Чтобы создать промежуточные итоги для n измерений (т.е. n столбцов в предложении GROUP BY) без оператора ROLLUP, n+1 инструкций SELECT должны быть связаны с помощью UNION ALL. Это может сделать выполнение запроса неэффективным, так как каждая из этих инструкций SELECT обращается к таблице. Оператор ROLLUP обеспечивает получение результатов всего за одно обращение к таблице. Оператор ROLLUP полезен, если для получения промежуточных итогов используется большое количество столбцов.
  • Промежуточные итоги и итоговые значения создаются с помощью оператора ROLLUP.

    Оператор CUBE также создает итоги, но эффективно выполняет сверстку в каждом возможном направлении, создавая данные перекрестной таблицы.

Далее: Проход дерева снизу вверх и сверху вниз

Related Posts