仅删除Mysql中的重复记录
我有一张桌子仅删除Mysql中的重复记录,mysql,duplicates,rows,Mysql,Duplicates,Rows,我有一张桌子 ------------ id name ------------ 1 master 2 datagrid 3 zewa 4 leumas 5 delta 6 master 7 master 8 master 9 delta 我只想删除重复的行。因此,从上表中,应该删除master和delta的所有行 注意:我不想使用临时表或任何Alter语句。我只想使用Delete查询,IIRC MySQL不允许您在in子句中引用变异表,除非添加额外的间接层 DELETE
------------
id name
------------
1 master
2 datagrid
3 zewa
4 leumas
5 delta
6 master
7 master
8 master
9 delta
我只想删除重复的行。因此,从上表中,应该删除master和delta的所有行
注意:我不想使用临时表或任何Alter语句。我只想使用Delete查询,IIRC MySQL不允许您在in子句中引用变异表,除非添加额外的间接层
DELETE FROM YourTable
WHERE name IN (SELECT name
FROM (SELECT name
FROM YourTable
GROUP BY name
HAVING COUNT(name) > 1) AS T)
IIRC MySQL不允许在in子句中引用mutating表,除非添加额外的间接层
DELETE FROM YourTable
WHERE name IN (SELECT name
FROM (SELECT name
FROM YourTable
GROUP BY name
HAVING COUNT(name) > 1) AS T)
从表中删除,其中“按countname>1的名称从表组中选择名称” 从表中删除,其中“按countname>1的名称从表组中选择名称” 是否应删除master和delta的所有行?不是所有的,只有一条?不,甚至一条记录都不应该存在。所有重复行都应删除所有主行和增量行都应删除吗?不是所有的,只有一条?不,甚至一条记录都不应该存在。所有重复的行都应该删除。这不起作用。。。您不能在子查询中使用对变异表的引用…这不起作用。。。不能在子查询中使用对突变表的引用。。。。