Оператор CUBE

Оператор CUBE – это дополнительный параметр в предложении GROUP BY инструкции SELECT.

12-9-4050326

  • CUBE – это расширение предложения GROUP BY.

  • Оператор CUBE можно использовать, чтобы получать значения перекрестной таблицы с помощью одной инструкции SELECT.

Оператор CUBE может быть применен ко всем функциям агрегирования, включая AVG, SUM, MAX, MIN и COUNT. Он используется для создания наборов результатов, обычно используемых для отчетов в виде перекрестных таблиц. ROLLUP создает только часть возможных комбинаций промежуточных итогов, а CUBE создает промежуточные итоги для всех возможных комбинаций группировок, заданных в предложении GROUP BY, и общий итог. Оператор CUBE используется с функцией агрегирования для создания дополнительных строк в наборе результатов. Столбцы, включенные в предложение GROUP BY, содержат перекрестные ссылки для создания расширенного набора групп. Функция агрегирования, заданная в списке выбора, применяется к этим группам, чтобы получить итоговые значения для дополнительных строк суперагрегата. Число дополнительных групп в наборе результатов определяется числом столбцов, включенным в предложение GROUP BY.

По сути для создания суперагрегатов используются все возможные комбинации столбцов или выражений в предложении GROUP BY. При наличии n столбцов или выражений в предложении GROUP BY возможно 2n комбинаций суперагрегатов. Математически эти комбинации образуют n-мерный куб, от которого оператор и получил свое название.

С помощью внешнего приложения или средств программирования эти значения суперагрегатов могут быть отображены на диаграммах и графиках, которые визуально и наглядно представляют результаты и отношения.

Далее: Форматирование иерархических отчетов с помощью LEVEL и LPAD

Related Posts