【发布时间】:2011-11-10 22:15:57
【问题描述】:
我有一点 SQL 头疼的时刻,想知道是否有人可以提供帮助。使用此数据(例如):
workId rateRevision
1 1
1 2
1 3
2 1
3 1
3 2
4 1
4 2
4 3
...我基本上想删除除了最新版本(最高 rateRevision 值)之外的所有重复项。所以我最终会得到:
workId rateRevision
1 3
2 1
3 2
4 3
理论上这听起来很简单,但我无法在 SQL 中解决。这是我当前的代码:
SELECT * FROM rate r
WHERE r.rateRevision =
(select r.rateRevision from rate r ORDER BY r.rateRevision DESC LIMIT 1);
...但这只是返回
workId rateRevision
4 3
当然,目前这只是选择值,但我计划基本上只是将其反转为删除语句。请问有人有什么想法吗?
非常感谢! 马特
【问题讨论】:
标签: sql duplicate-removal