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。谢谢你指出。