首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

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

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


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) 

热点排行