Оконная функция вычисляет значение для каждой строки, основываясь на "окне" или наборе строк, связанных с текущей строкой. Это похоже на агрегирующие функции (SUM, AVG, COUNT), но они не группируют результат в одну строку для каждой группы, а предоставляют агрегированное значение для каждой отдельной строки из исходного набора данных.
Основные компоненты:
ROW_NUMBER()
, RANK()
, DENSE_RANK()
, LAG()
, LEAD()
, SUM()
, AVG()
).OVER()
: Определяет, что это оконная функция.PARTITION BY
(опционально): Делит строки на разделы, к которым применяется оконная функция независимо.ORDER BY
(обязательно в большинстве случаев): Определяет порядок строк внутри каждого раздела, важный для таких функций, как ROW_NUMBER
, LAG
, LEAD
.ROWS
или RANGE
(опционально): Определяет фрейм окна - подмножество строк внутри раздела, к которому применяется функция. По умолчанию часто используется весь раздел.Часто используемые оконные ф
Оконная функция вычисляет значение для каждой строки, основываясь на "окне" или наборе строк, связанных с текущей строкой. Это похоже на агрегирующие функции (SUM, AVG, COUNT), но они не группируют результат в одну строку для каждой группы, а предоставляют агрегированное значение для каждой отдельной строки из исходного набора данных.
Основные компоненты:
ROW_NUMBER()
, RANK()
, DENSE_RANK()
, LAG()
, LEAD()
, SUM()
, AVG()
).OVER()
: Определяет, что это оконная функция.PARTITION BY
(опционально): Делит строки на разделы, к которым применяется оконная функция независимо.ORDER BY
(обязательно в большинстве случаев): Определяет порядок строк внутри каждого раздела, важный для таких функций, как ROW_NUMBER
, LAG
, LEAD
.ROWS
или RANGE
(опционально): Определяет фрейм окна - подмножество строк внутри раздела, к которому применяется функция. По умолчанию часто используется весь раздел.Часто используемые оконные ф
Register or sign in to get access to full answers for all questions from the question bank.