读书人

怎么删除同一张表中多行相同的数据但要

发布时间: 2012-03-14 12:01:12 作者: rapoo

如何删除同一张表中多行相同的数据但要保留一条?
请问下该如何删除同一张表中有多行相同的数据,但是要保留一行的数据,如下表:


ID name cdefine1 cdefine2 cdefine3
1 aa 101 09-08 15:35
2 aa 101 09-09 15:37
3 bb 101 09-09 15:36
4 cc 204 09-12 14:35
5 cc 204 09-13 12:35
6 dd 255 09-05 15:55
7 ee 255 09-06 18:15
8 ee 211 09-14 11:24


现在我要删除表中字段name和cdefine1相同的数据,就是说只要字段name和cdefine1是一样的就删除,但是要保留一条,最终结果如下:

ID name cdefine1 cdefine2 cdefine3
1 aa 101 09-08 15:35
2 bb 101 09-09 15:36
3 cc 204 09-12 14:35
4 dd 255 09-05 15:55
5 ee 255 09-06 18:15
8 ee 211 09-14 11:24


请问该如何实现?先谢谢啦

[解决办法]

SQL code
delete tfrom tb twhere exists (select 1 from tb where name=t.name and cdefine1=t.cdefine1 and id>t.id)
[解决办法]
SQL code
delete tfrom  tb twhere  exists (select 1 from tb where name=t.name and cdefine1=t.cdefine1 and id>t.id) 

读书人网 >SQL Server

热点推荐