【发布时间】:2020-08-31 01:09:42
【问题描述】:
您好,我有一个包含 6 列的 SQL 表,其中之一是时间戳。我需要知道如何只保留具有最新时间戳的行。
示例:
Product|Price|Product_id|Stock_code|supplier|timestamp
1 |375 |xxyyxx |1234 |abcd |2020-05-05
1 |372 |xxyyxx |122 |abcd |2020-05-04
1 |372 |xxyyxx |122 |abcd |2020-05-05
1 |375 |xxyyxx |1234 |abcd |2020-05-07
1 |375 |xxyyxx |123 |abcd |2020-05-07
2 |420 |xxyyyx |1432 |bcda |2020-05-07
2 |420 |xxyyyx |1432 |bcda |2020-05-06
2 |420 |xxyyyx |1432 |bcda |2020-05-13
我希望我的桌子看起来像
Product|Price|Product_id|Stock_code|supplier|timestamp
1 |375 |xxyyxx |1234 |abcd |2020-05-07
1 |372 |xxyyxx |122 |abcd |2020-05-05
1 |375 |xxyyxx |123 |abcd |2020-05-07
2 |420 |xxyyyx |1432 |bcda |2020-05-13
因此,当所有其他变量在两个或多个时间戳上彼此相等时,我想返回最新的时间戳。
写什么来达到这个目的?我已经尝试了太多没有用的东西。请帮忙
【问题讨论】:
-
您使用的是哪个 dbms?
-
看起来像一个基本的 GROUP BY。
-
我对 sql 非常陌生,并且正在苦苦挣扎,我尝试过 group by 和 order by 但没有工作
-
我正在使用 impala 编写 sql 查询
-
等等。您的意思是要删除表中较旧的行吗?
标签: sql group-by timestamp max