我有一个包含三列的表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)
会从重复值中删除一个随机(?)行,但是如何使它删除除最近更新的行之外的所有行?