Mysql表A中a字段有重复值,在重复数据中删除掉id小的,只留id最大的值,该怎么写执行句?

Mysql表A中a字段有重复值,在重复数据中删除掉id小的,只留id最大的值,该怎么写执行句?

SELECT * FROM names;
+----+--------+
| id | name   |
+----+--------+
| 1  | google |
| 2  | yahoo  |
| 3  | msn    |
| 4  | google |
| 5  | google |
| 6  | yahoo  |


想保留最大id的话:

DELETE FROM NAMES
 WHERE id NOT IN (SELECT * 
                    FROM (SELECT MAX(n.id)
                            FROM NAMES n
                        GROUP BY n.name) x)

温馨提示:答案为网友推荐,仅供参考