mysql 根据字段删除重复的记录保留最新数据

表(order_test)结构:

mysql 语句:

DELETE FROM order_test WHERE
(
name IN ( SELECT n.name FROM
( SELECT name FROM order_test GROUP BY name HAVING COUNT(name) > 1 ) n )
) AND (
id NOT IN (
SELECT i.id FROM
( SELECT max(id) AS id FROM order_test GROUP BY name HAVING COUNT(name) > 1 ) i
)
)

执行结果:

eg:这里用的max(id),保留最新数据。保留最开始的数据采用min(id)

原文链接:根据字段删除重复的记录保留最新数据

个人博客:www.liusongs.com

猜你喜欢

转载自blog.csdn.net/qq_35630665/article/details/90143092