删除 MySQL 中的重复条目 [重复]
Posted
技术标签:
【中文标题】删除 MySQL 中的重复条目 [重复]【英文标题】:Remove duplicate entries in MySQL [duplicate] 【发布时间】:2014-08-01 14:48:56 【问题描述】:我有一个包含多个相同条目的表,我想删除重复的条目,但如果有意义的话,保留最近的记录。
我有唯一的 ID 列,而我希望只有 1 个相同整数的列是“所有者”列,因为不需要超过一个。
【问题讨论】:
请包括您的表结构,最好是您自己的尝试。 这里的第二个答案:***.com/questions/2630440/… 【参考方案1】:您可以创建一个临时表并将所需的数据放在那里。然后删除原始表中的所有数据并从临时表中插入数据。喜欢:
CREATE TABLE TMP (SELECT DISTINCT * FROM <ORIGINAL_TABLE>);
TRUNCATE TABLE <ORIGINAL_TABLE>;
INSERT INTO <ORIGINAL_TABLE> (SELECT * FROM TMP);
【讨论】:
【参考方案2】:DELETE FROM table WHERE `id` NOT IN (
SELECT `id` FROM table
GROUP BY `id`
ORDER BY `date` DESC
LIMIT 1
);
【讨论】:
子查询只返回一个 ID,所以这会删除除那个 ID 之外的所有内容。它不会在组内删除。以上是关于删除 MySQL 中的重复条目 [重复]的主要内容,如果未能解决你的问题,请参考以下文章