【发布时间】:2017-04-25 15:54:48
【问题描述】:
我有一个非常窄的表: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;
感谢大家的帮助
【问题讨论】:
-
您使用的是哪个 RDBMS?
-
@Strawberry 我在 Bluemix 上使用 DashDB