Новые возможности языка SQL Firebird 3.0
8
sum(1)
over (
order by salary)
from employee
order by salary;
Результат
id salary dense_rank rank row_number sum
-- ------ ---------- ---- ---------- ---
3 8.00 1 1 1 1
4 9.00 2 2 2 2
1 10.00 3 3 3 4
5 10.00 3 3 4 4
2 12.00 4 5 5 5
Разница между функциями DENSE_RANK и RANK состоит в том,
что для
функции RANK существует разрыв, связанный с
дублированием значения поля
SALARY
, по которому происходит сортировка. Функция DENSE_RANK продолжает
присваивать последовательные номера, после дубликата зарплаты. С
другой
стороны, функция ROW_NUMBER назначает последовательные номера, даже
когда есть повторяющиеся значения.
Do'stlaringiz bilan baham: