令我惊讶的是,我一直无法针对我的具体情况找到这个问题的答案。
我有一张带有 ID 和日期的表格,我只想保留一个 ID,即最新的 ID。
例如:
ID | Date
1 July 6
2 July 2
1 July 4
2 July 5
变成:
ID | Date
1 July 6
2 July 5
我找到了针对使用不同 SQL 版本的不同数据库应用程序的解决方案,但我无法弄清楚任何事情。任何帮助都非常感谢!
答案1
虽然不是最优雅的,但你可以尝试:
DELETE FROM mytable tb1
WHERE
(Date NOT IN (SELECT MAX(Date) FROM mytable WHERE ID=tb1.ID)) AND
(tb1.ID IN (SELECT DISTINCT id FROM table1));