【发布时间】:2015-07-07 04:26:32
【问题描述】:
我有一个包含以下整数列的表:
group_id, person_id, sequence
理想情况下,主键是(group_id, person_id),但我需要先删除一些重复项。每当有重复时,我只想保留最低的序列值。
我想出了一个查询来选择一些错误的行,但它只获取重复集中的最高序列号。
SELECT COUNT(*) AS num, group_id, person_id, MAX(sequence)
FROM my_table
GROUP BY group_id, person_id
HAVING COUNT(*) > 1;
我确定我错过了一些简单的东西。有没有一种简单的方法可以删除这些重复项?
谢谢。
【问题讨论】:
-
你试过用 MIN(sequence) 代替 MAX(sequence) 吗?
-
我有,但它似乎没有做任何有用的事情。它给了我想要保留的行。
标签: mysql duplicate-removal compound-key