可能重复:
删除 MySQL 中的重复行
我有一个看起来像这样的表“recipientscore”:
- 收件人ID/消息ID
- 1 / 1
- 2 / 2
- 3 / 2
- 4 / 2
- 5 / 3
- 6 / 4
我想要做的是删除所有出现两次或更多的记录。我不想保留每个重复记录的一个版本。清理后是这样的:
- 收件人ID/消息ID
- 1 / 1
- 5 / 3
- 6 / 4
你对如何做到这一点有想法吗?
谢谢!
可能重复:
删除 MySQL 中的重复行
我有一个看起来像这样的表“recipientscore”:
我想要做的是删除所有出现两次或更多的记录。我不想保留每个重复记录的一个版本。清理后是这样的:
你对如何做到这一点有想法吗?
谢谢!
delete from recipientscore
where messageid in
(
select * from
(
select messageid from recipientscore
group by messageid
having count(*) > 1
) x
)
'juergen d' 给出的答案是完美的。如果您希望只保留一个唯一行并删除剩余的重复行,您可以尝试此操作。
ALTER IGNORE TABLE recipient score ADD UNIQUE KEY idx1(messageid);