创新路
我们一直在努力

MySQL学习笔记(21)

在数据库的操作中,经常会遇到有重复的数据,并且这些重复的行是没用的数据,需要删除,可以采用以下几种方式删除。


1. 使用not in 删除重复行

这里是根据名称和价格分组,拿到不重复数据的最大ID值,然后删除不在这最大ID值的行,即可删除重复行。

DELETE FROM fruit_test

WHERE id NOT IN (SELECT MAX(id) as id

FROM fruit_test

GROUP BY name, price);


2. 使用EXCEPT删除重复行

使用EXCEPT减去要留下的数据,将重复数据删除

DELETE FROM test

WHERE id IN ( SELECT id  

rowid

FROM fruit_test

EXCEPT 

SELECT MAX(id)  

rowid

FROM fruit_test

GROUP BY name, price) ;

未经允许不得转载:天府数据港官方信息博客 » MySQL学习笔记(21)

客官点个赞呗! (0)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机