Агрегатные и оконные функции
В этой главе подробно объясняются агрегатные и оконные функции.
Функции агрегирования
Агрегатные функции производят единый результат из набора входных значений. В следующей таблице подробно описан список агрегатных функций.
S.No. | Описание функции |
---|---|
1 | СРЕДНЕЕ (эксп.) Усредняет столбец всех записей в источнике данных. |
2 | КОРР (выражение1; выражение2) Возвращает коэффициент корреляции между набором пар чисел. |
3 | COUNT () Возвращает количество строк. |
4 | МАКС (выражение) Возвращает наибольшее значение выбранного столбца. |
5 | MIN (выражение) Возвращает наименьшее значение выбранного столбца. |
6 | СУММ (выражение) Возвращает сумму данного столбца. |
7 | LAST_VALUE (выражение) Возвращает последнее значение данного столбца. |
Функция окна
Оконные функции выполняются для набора строк и возвращают одно значение для каждой строки из запроса. Термин «окно» имеет значение набора строк для функции.
Функция Window в запросе определяет окно с помощью предложения OVER ().
В OVER() статья имеет следующие возможности -
- Определяет оконные перегородки для формирования групп строк. (Пункт PARTITION BY)
- Упорядочивает строки внутри раздела. (Предложение ORDER BY)
В следующей таблице подробно описаны функции окна.
Функция | Тип возврата | Описание |
---|---|---|
ранг() | int | Возвращает ранг текущей строки с пробелами. |
row_num () | int | Возвращает текущую строку внутри своего раздела, начиная с 1. |
lead (значение [, целое смещение [, по умолчанию любое]]) | То же, что и тип ввода | Возвращает значение, вычисленное в строке, которая смещена на строки после текущей строки в разделе. Если такой строки нет, будет возвращено значение по умолчанию. |
lag (значение [, целое смещение [, по умолчанию любое]]) | То же, что и тип ввода | Возвращает значение, вычисленное в строке, которая является смещенной строкой перед текущей строкой в разделе. |
first_value (значение) | То же, что и тип ввода | Возвращает первое значение входных строк. |
last_value (значение) | То же, что и тип ввода | Возвращает последнее значение входных строк. |