mysql删除重复记录的SQL语句

假如有一个表 test

id name value 
1 a pp 
2 a pp 
3 b iii 
4 b pp 
5 b pp 
6 c pp 
7 c pp 
8 c iii 
id是主键 
要求得到这样的结果 
id name value 
1 a pp 
3 b iii 
4 b pp 
6 c pp 
8 c iii 
方法1 
delete test 
where [id] not in ( 
select max([id]) from test
group by (name + value)) 
方法2 
delete a 
from testa left join( 
select (id) from test group by name,value 
)b on a.id=b.id 
where b.id is null 

posted @ 2012-07-23 14:23  投河自尽的鱼  阅读(254)  评论(0编辑  收藏  举报