Как найти следующую строку в Postgres на основе предыдущего идентификатора? - PullRequest
0 голосов
/ 08 марта 2020

Предположим, у меня есть такая таблица:

Id  Name
----------
1   John
2   Mary
5   Jason
6   Amit
7   Daniel
10  Emma
11  Max
15  Sachin

Я пытаюсь создать запрос, в котором я передам один идентификатор и получу следующую строку из таблицы.

Ответы [ 2 ]

2 голосов
/ 08 марта 2020

Вы можете отфильтровать по id с больше, чем ваш параметр, упорядочить по id и сохранить только первую строку, используя limit:

select t.* from mytable t where id > ? order by id limit 1

Это даст вам запись с следующий более высокий id к параметру.

0 голосов
/ 08 марта 2020

Вы также можете использовать это

select * from table_name where id = (select min(id) from table_name where id > {Id})

Это вернет вам следующую доступную строку в таблице

...