Разбиение на разделы

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

Разбиение на разделы позволяет разделить результирующий набор запроса на группы, так что каждая строка раздела будет отображаться отдельно. Если разделы не заданы, то весь набор строк будет принадлежать одному разделу. Хотя разбиение на разделы и выглядит как группирование с использованием предложения group by, это не является тем же самым. Предложение group by сворачивает строки раздела в одну строку, в то время как разбиение на разделы в конструкции окна просто организует строки в группы без их сворачивания.

Следующие два примера показывают различия между разбиением на разделы с использованием конструкции окна и группированием при использовании предложения group by. Предположим, что вы хотите вычислить некоторые различные агрегаты, касающиеся служащих в каждом отделе. В примере 24.3 показано, как предложение over вместе с предложением partition by может быть использовано для создания разделов.

 

Разбиение на разделы

 

В примере 24.3 используется предложение over для определения соответствующего окна. Внутри него опция partition by применяется для задания разделов. (Разделы группируются при использовании значений столбца deptname.) Под конец агрегатная (или некоторая другая) функция применяется к разделам. Наконец, как вы можете видеть по результатам данного примера, разбиение на разделы размещает строки по разделам без их сворачивания.

В примере 24.4 показан похожий запрос, который использует предложение group by.

 

Разбиение на разделы

Разбиение на разделы

 

Как уже было сказано, когда вы используете предложение group by, каждая группа сворачивается в одну строку.


Подробнее в этой категории: « Введение в SQL/OLAP Упорядочение »
Упорядочение
Расширения предложения GROUP BY
Оператор CUBE
Оператор ROLLUP
Функция GROUPING

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


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

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