我有一个包含三列的表KEY:VALUE和LAST_UPDATED
有重复的VALUE字段。我想删除所有与VALUE其他行相同的行,除了最近更新的行。
因此,如果表包含这些行:
1, "A", 2013-11-08
2, "B", 2013-10-30
3, "A", 2013-11-07
4, "A", 2013-11-01
5, "B", 2013-11-01
然后我想只保留这些行:
1, "A", 2013-11-08
5, "B", 2013-11-01
你怎么能在 SQL 中做到这一点?我想DELETE FROM table WHERE key IN (SELECT key FROM table GROUP BY value HAVING count(*)>1)会从重复值中删除一个随机(?)行,但是如何使它删除除最近更新的行之外的所有行?