Как получить номер строки в PostgreSQL, когда результаты упорядочены по некоторым столбцам?
например.
SELECT 30+row_number() AS position, *
FROM users
ORDER BY salary DESC
LIMIT 30
OFFSET 30
Я предположил, что запрос вернет список следующим образом:
position | name | salary
31 | Joy | 4500
32 | Katie| 4000
33 | Frank| 3500
Собственно, мне нужно дублировать предложение ORDER
в запросе, чтобы сделать его функциональным:
SELECT 30+row_number(ORDER BY salary DESC) AS position, *
FROM users
ORDER BY salary DESC
LIMIT 30
OFFSET 30
Есть ли другой способ возврата упорядоченных и нумерованных результатов без необходимости дублирования кода?
Я знаю, что это можно решить, увеличив некоторую переменную в самом приложении, но я хочу сделать это на уровне базы данных и вернуться к уже пронумерованным результатам приложения...