Руководство по языку sql


select  id,  salary,  first_value


Download 1.22 Mb.
Pdf ko'rish
bet8/62
Sana23.04.2023
Hajmi1.22 Mb.
#1393455
1   ...   4   5   6   7   8   9   10   11   ...   62
Bog'liq
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 9.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:
1   ...   4   5   6   7   8   9   10   11   ...   62




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling