1

我有一张下表

------------
id name
------------
1  master
2  datagrid 
3  zewa
4  leumas
5  delta
6  master
7  master
8  master
9  delta

我只想删除重复(重复)的行。所以从上表中,“master”和“delta”的所有行都应该被删除。

注意:我不想使用临时表或任何 Alter 语句。我只想使用删除查询

4

2 回答 2

8

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) 
于 2012-06-25T12:08:59.583 回答
-2

从名称所在的表中删除(按名称从表组中选择名称,计数(名称)> 1);

于 2012-06-25T12:09:35.513 回答