MySQL - 从列复制的表中删除行

3 mysql sql duplicates

可能重复:
如何从mysql中的表中删除重复的行

我有一个简单的请求,正在变成一场噩梦.

我有一个表'MyTableA',有两列ID(int)和Value(varchar(100))

该表有一些像这样的值:

ID|Value
1|Apple
2|Apple
3|Apple

如果值是重复的,我想保留第一个ID行并删除其余行.所以在上面的例子中我想删除ID为2和3的行.

我认为这很简单,但可能是因为我正在使用带有子句的SQL.

谢谢!

raj*_*ndy 5

尝试...

DELETE t FROM `dbtable` t
  JOIN `dbtable` t2 ON t.`Value` = t2.`Value`
WHERE t.`ID` > t2.`ID`
Run Code Online (Sandbox Code Playgroud)