gpt4 book ai didi

sql - 从表中的几个系列中的每一个中获取最后一行

转载 作者:行者123 更新时间:2023-11-29 14:16:02 32 4
gpt4 key购买 nike

我使用 postgres 作为后端来存储传感器数据。各种传感器以不同的频率进行记录。我想获得每个不同值的最后一个。 IE。我有下表:

   id   | sensorid | type |   value    |           datetime            
--------+----------+------+------------+-------------------------------
302888 | 9 | 118 | 4829 | 2017-12-12 22:20:04.911429+01
302887 | 9 | 116 | 17000 | 2017-12-12 22:20:04.90125+01
302886 | 9 | 104 | 40400 | 2017-12-12 22:20:04.827895+01
302885 | 5 | 116 | 4294958596 | 2017-12-12 22:19:04.813092+01
302884 | 5 | 104 | 76100 | 2017-12-12 22:19:04.803245+01
302883 | 5 | 118 | 3976 | 2017-12-12 22:19:04.753291+01
302882 | 5 | 116 | 4294958596 | 2017-12-12 22:16:18.730765+01
302881 | 5 | 104 | 76100 | 2017-12-12 22:16:18.720933+01
302880 | 5 | 118 | 3976 | 2017-12-12 22:16:18.700545+01
302879 | 1 | 118 | 5410 | 2017-12-12 22:15:54.688361+01
302878 | 1 | 116 | 19000 | 2017-12-12 22:15:54.67866+01
302877 | 1 | 104 | 33700 | 2017-12-12 22:15:54.660863+01
302876 | 9 | 118 | 4892 | 2017-12-12 22:15:04.646695+01

等等。

我想取出以下数据:

   id   | sensorid | type |   value    |           datetime            
--------+----------+------+------------+-------------------------------
302888 | 9 | 118 | 4829 | 2017-12-12 22:20:04.911429+01
302887 | 9 | 116 | 17000 | 2017-12-12 22:20:04.90125+01
302886 | 9 | 104 | 40400 | 2017-12-12 22:20:04.827895+01
302885 | 5 | 116 | 4294958596 | 2017-12-12 22:19:04.813092+01
302884 | 5 | 104 | 76100 | 2017-12-12 22:19:04.803245+01
302883 | 5 | 118 | 3976 | 2017-12-12 22:19:04.753291+01
302879 | 1 | 118 | 5410 | 2017-12-12 22:15:54.688361+01
302878 | 1 | 116 | 19000 | 2017-12-12 22:15:54.67866+01
302877 | 1 | 104 | 33700 | 2017-12-12 22:15:54.660863+01

所以我想要每个传感器 ID 和类型组合具有最高 ID 或日期时间的行。一条sql语句可以吗?

最佳答案

出于这个目的,我喜欢 distinct on:

select distinct on (sensorid, value) sd.*
from sensordata sd
order by sensorid, value, datetime desc;

关于sql - 从表中的几个系列中的每一个中获取最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47781849/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com