首页 > 解决方案 > 在 postgreSQL 中选择第一个日期

问题描述

我有一列日期:-

dates
2021-06-24 05:47:05
2021-06-24 09:47:05
2021-06-24 13:47:05
2021-06-24 17:47:05

我想选择一天中的第一个时间,即与一天中的下一个时间相距 3 小时或超过 3 小时。日期总是一样的。

预期输出:-

2021-06-24 05:47:05

标签: sqlpostgresql

解决方案


使用lead()

select t.*
from (select t.*, lead(date) over (order by date) as lead_date
      from t
     ) t
where t <= lead_date + interval '3 hour'
order by t.date
limit 1;

推荐阅读