如何解决构造查询以查找最近两个小时内具有唯一ID
我正在尝试在最近两个小时内为每个唯一的Data->> Id选择所有最新行(基于“时间”列)。 “数据”列是一个json列,应由箭头运算符访问。
Id Time Data
1 2020-08-13 18:13:14 {'Id': "1"}
2 2020-08-13 18:14:12 {'Id': "2"}
3 2020-08-13 18:14:19 {'Id': "1"}
4 2020-08-13 17:13:21 {'Id': "2"}
5 2020-08-13 18:23:54 {'Id': "1"}
6 2020-08-13 13:13:21 {'Id': "2"}
结果应该是这样,当前时间是2020-08-13 18:15:00
Id Time Data
1 2020-08-13 18:13:14 {'Id': "1"}
4 2020-08-13 17:13:21 {'Id': "2"}
解决方法
您可以使用distinct on
:
select distinct on (data) t.*
from t
order by data,time desc;
,
使用distinct on
和json访问器:
select distinct on (data ->> 'id') t.*
from mytable t
order by data ->> 'id',time desc
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。