Php 删除所有重复的mysql?

Php 删除所有重复的mysql?,php,mysql,select,duplicate-removal,Php,Mysql,Select,Duplicate Removal,我想删除具有相同徽章id的重复行,并检查用户id: 例如,使用以下数据: id user_id badge_id badge_slot 1 2 ACH_1 0 2 1 ACH_1 0 3 1 ACH_1 0 4 1 AAAAA 0 id用户\u id徽章\u id徽章\u插槽 1 2 ACH_1 0 2 1 ACH_1 0 3

我想删除具有相同徽章id的重复行,并检查用户id:

例如,使用以下数据:

id user_id badge_id badge_slot 1 2 ACH_1 0 2 1 ACH_1 0 3 1 ACH_1 0 4 1 AAAAA 0 id用户\u id徽章\u id徽章\u插槽 1 2 ACH_1 0 2 1 ACH_1 0 3 1 ACH_1 0 4 1 AAA 0
如何删除


在MySQL中,您有一个问题,就是不能从要删除的同一个表中进行选择。但是您可以通过一个子选择来克服这一问题。

如果您想保留具有最低
id
的记录,您可以使用
min()

在MySQL中,您有一个问题,就是不能从要删除的同一个表中进行选择。但您可以通过子选择来克服这一问题。

尝试以下方法:

      DELETE * ,count(*)as n your_table by badge_id HAVING n>1 .
希望能有帮助

试试这个:

      DELETE * ,count(*)as n your_table by badge_id HAVING n>1 .
希望能有帮助

试试这个

      ALTER IGNORE TABLE table ADD UNIQUE KEY idx1('badge_id','user_id'); 
试试这个

      ALTER IGNORE TABLE table ADD UNIQUE KEY idx1('badge_id','user_id'); 

我在回答中使用了它:
select*from(此处放置子选择)alias_name
我尝试了几行,但它不工作我的表有1801490行我该怎么办?我测试了大约20行它工作正常,但查询不工作1801490行??我测试了大约20行它工作正常,但查询不工作1801490行??再说一次,不工作意味着什么?重复项不会被删除吗?它会永远运行吗?计算机爆炸了吗?我在回答中使用了它:
select*from(此处放置子选择)alias_name
我尝试了几行,但它不工作我的表有1801490行我该怎么办?我测试了大约20行它工作正常,但查询不工作1801490行??我测试了大约20行它工作正常,但查询不工作1801490行??再说一次,不工作意味着什么?重复项不会被删除吗?它会永远运行吗?电脑爆炸了吗?