SQL: как выбрать запись попадающаю в интервал разных записей в таблице?
Есть база на PostgreSQL 14. В таблице поля numb
(BIGINT), id
(Varchar), date_from
(TIMESTAMP)
В ней записи такого вида:
numb;id;date_from;
124455;5820;2022-07-20 08:01:29;
124455;5820;2022-07-24 08:01:29;
124455;5402;2022-07-27 00:01:31;
124455;1020;2022-07-28 00:06:01;
У нас есть дата (в условии) '2022-07-26 21:03:23', нужно построить запрос так, чтобы за один запрос выбрать предыдущую запись у которой numb
= 124455 и date_from
была бы меньше чем в записи с '2022-07-27 00:01:31'
В результате мы должны выбрать только запись: '124455;5820;2022-07-24 08:01:29;', так как дата у нее больше чем дата следующей по времени записи: '2022-07-27 00:01:31' и больше у записи с датой '2022-07-20 08:01:29'.
Т.е получается мы всегда должны выбирать только одну и только предыдущую запись от той, у которой date_from
меньше чем '2022-07-26 21:03:23', но не больше чем следующая запись с date_from
'2022-07-27 00:01:31'.