Оператор CUBE

Оценить
(0 голоса)

В этом разделе будут рассмотрены различия между группированием с использованием предложения group by и группированием с применением group by в комбинации с оператором cube. Основное отличие заключается в том, что предложение group by определяет один или более столбцов в качестве группы, где все строки в любой группе имеют те же значения для тех же столбцов, cube и rollup предоставляют дополнительные итоговые строки для группируемых данных. Эти итоговые строки также называются многомерными итогами.

Следующие два примера демонстрируют эти отличия. В примере 24.8 применяется предложение group by для группирования строк таблицы projectdept на основе двух критериев: столбцов deptname и empcnt.

Оператор CUBE

Оператор CUBE

 

Основным отличием между двумя последними примерами является то, что результирующий набор примера 24.8 отображает только значения, относящиеся к группам, тогда как результирующий набор примера 24.9 содержит дополнительно все возможные итоги строк. Заполнитель значений в ненужных столбцах суммируемых строк отображается в виде null. Например, следующая строка в результирующем наборе null null 305000 дает сумму всех бюджетов всех существующих проектов в этой таблице, тогда как строка null 5 125000 показывает сумму всех бюджетов всех проектов, над которыми работает в точности пять служащих.

Синтаксис cube в примере 24.9 соответствует стандартизованному синтаксису этого оператора. Этот синтаксис введен в SQL Server 2008. Пример 24.10 эквивалентен примеру 24.9, однако он использует синтаксис старого стиля.

 

Оператор CUBE

 


Подробнее в этой категории: « Введение в SQL/OLAP Оператор ROLLUP »
Оператор ROLLUP
Функция GROUPING
Оператор GROUPING SETS
Функции запросов OLAP
Функции упорядочения

Добавить комментарий


Защитный код
Обновить

© 2018 www.serversql.ru. Все права защищены.