Упорядочение

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

Упорядочение в конструкции окна похоже на упорядочение в запросе. Во-первых, вы используете предложение order by для задания конкретного порядка строк в результирующем наборе. Во-вторых, это предложение включает список ключей сортировки и указывает, в каком порядке они должны быть отсортированы - по возрастанию или по убыванию значений. Наиболее важным отличием является то, что порядок внутри окна применим только к каждому разделу.

SQL Server 2008 не поддерживает упорядочение внутри конструкции окна для агрегатных функций. Другими словами, предложение over для агрегатных функций может содержать только предложение partition by. (Назло этому ограничению упорядочение внутри окна работает для функций ранжирования.) Пример 24.5, который поддерживается стандартом SQL, выдает ошибку.

Упорядочение

 

В примере 24.6 используются обычные средства Transact-SQL для решения проблемы из примера 24.65, которая называется кумулятивной агрегацией или в данном случае кумулятивным суммированием. Кумулятивные агрегации аккумулируют данные, начиная с первого значения раздела и заканчивая текущим значением.

 

Упорядочение

 

Вы можете использовать несколько столбцов таблицы для создания различных схем разделов в запросе (пример 24.7).

 

Упорядочение

Упорядочение

 

Запрос в примере 24.7 имеет две различные схемы разделов: одна со значениями столбца budget, другая со значениями столбца deptname. Первая используется для вычисления количества служащих в отделах с одинаковыми бюджетами. Вторая - для вычисления среднего значения бюджетов отделов, сгруппированных по их именам.


Расширения предложения GROUP BY
Оператор CUBE
Оператор ROLLUP
Функция GROUPING
Оператор GROUPING SETS

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


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

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