Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何删除一些重复的行_Php_Mysql - Fatal编程技术网

Php 如何删除一些重复的行

Php 如何删除一些重复的行,php,mysql,Php,Mysql,我正在尝试删除表中的一些重复行。我首先通过执行以下查询来选择所有重复的行: SELECT a.id as id FROM table A join table B on A.site = B.site where A.nb_affichages = B.nb_affichages and A.nb_clics = A.nb_clics 然后,我尝试从第一个查询中删除所有选定的ID: DELETE FROM table WHERE id IN ( SELECT * FROM ( SELECT

我正在尝试删除表中的一些重复行。我首先通过执行以下查询来选择所有重复的行:

SELECT a.id as id FROM table A join table B on A.site = B.site 
where A.nb_affichages = B.nb_affichages and A.nb_clics = A.nb_clics
然后,我尝试从第一个查询中删除所有选定的ID:

DELETE FROM table WHERE id IN ( SELECT * FROM ( SELECT a.id as id FROM table A join table B on A.site = B.site 
where A.nb_affichages = B.nb_affichages and A.nb_clics = A.nb_clics) AS p )
第二个查询删除第一个查询中选择的所有行,而我想让其中一行删除其他行


因此,任何人都可以帮助我优化此查询。

它将保留重复值的第一个数据,并将删除重复值的所有剩余值

DELETE c1 
FROM table c1, table c2 
WHERE c1.nb_affichages = c2.nb_affichages 
AND c1.nb_clics = c2.nb_clics 
AND c1.site = c2.site
AND c1.id > c2.id;

它将保留重复值的第一个数据,并将删除重复值的所有剩余值

DELETE c1 
FROM table c1, table c2 
WHERE c1.nb_affichages = c2.nb_affichages 
AND c1.nb_clics = c2.nb_clics 
AND c1.site = c2.site
AND c1.id > c2.id;

为什么条件
A.site=B.site
被删除?我没有看到那个条件。我将编辑@mnv。谢谢你指出。为什么条件
A.site=B.site
被删除了?我没有看到那个条件。我将编辑@mnv。谢谢你指出。