sql - 在 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
解决方案
使用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;
推荐阅读
- java - 如何使用 Java 将当前 UTC 时区转换为印度标准时间
- java - 春天。如何根据应用程序参数注入依赖项?
- c++ - STL 字符串中止的析构函数
- couchdb-2.0 - 使用 ArmChair 将新文档添加到 CouchDb 会引发异常 Object reference not set to an instance of an object
- c# - 使用秒表测量时间关键的代码片段
- xcode - Xcode 10 - 团队的“未知名称”
- swagger - Swagger 编辑器中的“映射条目缩进错误”错误是什么意思?
- javascript - React 将标签添加到 Object.keys 映射中的嵌套数组对象
- java - 如何使用 Spring-Boot 运行 cxf-xjc-plugin?
- vue.js - 在 $navigateBack 中传递更改的道具