Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Обработка оконных функций



Если запрос содержит какие-либо оконные функции (см. Section 3.5, Section 9.19 и Section 4.2.8), то эти функции выполняются после выполнения всех предложений группировки, агрегирования и HAVING. Таким образом, если запрос использует какие-либо агрегаты, GROUP BY или HAVING, то строки, которые будут предоставлены оконным функциям будут уже сгруппированными, а не первоначальными строками таблиц, которые указаны в предложениях FROM/WHERE.

Когда используется несколько оконных функций, все эти оконные функции синтаксически соответствуют предложениям PARTITION BY и ORDER BY в их определениях окна и гарантируется, что они будут выполнены в один проход. Таким образом, они будут видеть тот же самый порядок сортировки, даже если ORDER BY не определяет уникальный порядок сортировки. Однако, это не гарантируется при выполнении функций, имеющих разные спецификации PARTITION BY или ORDER BY. (В таких случаях, между проходами выполнения оконных функций, обычно требуется шаг сортировки, и сортировка не гарантирует защиту порядка следования строк, которые видит соответствующий ORDER BY.)

В настоящий момент, оконные функции всегда требуют предварительную сортировку данных и таким образом результат запроса будет отсортирован в соответствии с тем или иным предложением PARTITION BY/ORDER BYоконной функции. Тем не менее, не рекомендуется полагаться на это. Используйте явное ORDER BY верхнего уровня, если вы хотите иметь уверенность, что результаты сортируются должным образом.





Дата публикования: 2015-02-03; Прочитано: 182 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...