Руководство по языку sql
select id, salary, first_value
Download 1.22 Mb. Pdf ko'rish
|
Firebird3 SQL features
select
id, salary, first_value(salary) over (order by salary), last_value(salary) over (order by salary), nth_value(salary, 2) over (order by salary), lag(salary) over (order by salary), lead(salary) over (order by salary) from employee order by salary; Результат id salary first_value last_value nth_value lag lead -- ------ ----------- ---------- --------- ------ ------ 3 8.00 8.00 8.00 4 9.00 8.00 9.00 9.00 8.00 10.00 1 10.00 8.00 10.00 9.00 9.00 10.00 5 10.00 8.00 10.00 9.00 10.00 12.00 2 12.00 8.00 12.00 9.00 10.00 Функции FIRST_VALUE и LAST_VALUE возвращают, соответственно, первое и последнее значение в упорядоченной секции. Функция NTH_VALUE возвращает N-ое значение, начиная с первой (опция FROM FIRST ) или последней (опция FROM LAST) записи. По умолчанию используется опция FROM FIRST. Смещение 1 от первой записи будет эквивалентно функции FIRST_VALUE, смещение 1 от последней записи будет эквивалентно функции LAST_VALUE. Функция LAG возвращает значение из предыдущей строки, LEAD – из следующей строки. Функции LEAD и LAG возвращают значение на дистанции смещения (offset), которое по умолчанию равно 1, относительно текущей строки. Если смещение (offset) указывает за пределы секции, то будет возвращено значение default, которое по умолчанию равно NULL. Примеры: 1. Предположим у вас есть таблица rate, которая хранит курс валюты на каждый день. Необходимо проследить динамику изменения курса за последние пять дней. Новые возможности языка SQL Firebird 3.0 11 select bydate, cost, cost - lag(cost) over(order by bydate) as change, 100 * (cost - lag(cost) over(order by bydate)) / Download 1.22 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling