如何删除SQL中的重复行?

时间:2015-04-29 14:15:06

标签: php mysql

我正在尝试使用SQL删除重复的行,同时留下其中一行。

我试图从中删除重复行的表称为表“A”,由以下内容组成:

A.AID, A.BID, A.AName, A.AType, A.APrice.

在此表中,我有许多重复的行,除了A.ID之外,所有数据都完全相同。

我正在尝试创建一个查找重复项的查询,然后删除重复项,确保其中一行被遗忘。我正在使用phpMyAdmin和MySQL。

3 个答案:

答案 0 :(得分:2)

DELETE FROM member  
WHERE id IN (SELECT * 
             FROM (SELECT id FROM member 
                   GROUP BY member_id, quiz_num, question_num, answer_num HAVING (COUNT(*) > 1)
                  ) AS A
            );

use group by and count

答案 1 :(得分:1)

systemd

答案 2 :(得分:1)

考虑下面的查询,这将删除所有重复的行阻止任何未来的重复行

ALTER IGNORE TABLE A ADD UNIQUE INDEX index_name (A.AID, A.BID, A.AName, A.AType, A.APrice );