注册 登录
编程论坛 MySQL论坛

快速删除重复记录

weixj2003ld 发布于 2011-05-10 11:16, 2259 次点击
创建了一个表名字是Table1,其中记录的重复类似如下:
col1 col2,col3,col4

a1, b1, c1, d1, 4
a1, b1, c1, d1, 4
a1, b1, c12, d12, 5

a2, b2, c2, d2, 7

a3, b3, c3, d3, 15
a3, b3, c31 d31, 17

...

表的记录是这样的
1、前两列重复的,重复时,重复的记录只重复1.2 次,比如,第1,2,3条记录,第5,6条记录;
2、也有不重复的记录,比如第4条记录;
3、现在我想删除重复的记录的一个,保留第5列最大的那个;

上面的表删除后的效果是这样的
a1, b1, c12, d12, 5
a2, b2, c2, d2, 7
a3, b3, c31 d31, 17

请问如何快速删除?


我用的是Mysql。


在此声明一下,本人sql语句不是很熟,回答是麻烦详细一点。谢谢了。
1 回复
#2
go20112011-05-19 00:35
DELETE FROM table1 WHERE col5 NOT IN (SELECT MAX(col5) FROM table1 GROUP BY col1,col2)
1