gpt4 book ai didi

SQL只选择一个符合条件的项目

转载 作者:行者123 更新时间:2023-12-04 02:05:43 25 4
gpt4 key购买 nike

我有一个非常窄的表:DATA、ID、LAT、LNG、TIME。( https://gyazo.com/52b268c00963ed12ba85c6765f40bf63 )

我想为每个不同的 ID 选择最新的数据。我正在使用类似

的查询
SELECT * 
FROM name_of_table
WHERE TIME > my_given_time;

但它会选择所有数据,而不仅仅是满足条件的每个不同 id 的数据。

有人可以帮我写查询吗?

感谢您的帮助。 :)

编辑

我的工作查询的最终外观如下:

SELECT * FROM (SELECT * FROM (SELECT ROW_NUMBER() OVER (PARTITION BY ID ORDER BY TIME DESC) AS ROWNUMBER, * FROM my_table) WHERE ROWNUMBER = 1) WHERE TIME > my_time;

谢谢大家的帮助

最佳答案

这样的事情怎么样

SELECT ID, DATA 
FROM (
SELECT ROW_NUMBER() OVER (PARTITION BY ID ORDER BY TIME DESC) AS ROWNUMBER, ID, DATA
FROM name_of_table)
WHERE ROWNUMBER = 1;

对于这些虚拟记录

INSERT INTO name_of_table (ID, TIME, DATA) VALUES('test',1230,16);
INSERT INTO name_of_table (ID, TIME, DATA) VALUES('test2',1235,10);
INSERT INTO name_of_table (ID, TIME, DATA) VALUES('test',1234,20);

查询返回每个ID的最大时间戳的数据值

  ID    DATA
----- ----
test 20
test2 10

关于SQL只选择一个符合条件的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43615541/

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