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

如何删除同一张表中多行相同的数据但要保留一条? 删除同一张表中有多行相同的数据,但是要保留一行的数据,如下表:
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
 
------解决方案--------------------------------------------------------

delete t
from tb t
where exists (select 1 from tb where name=t.name and cdefine1=t.cdefine1 and id>t.id)
 ------解决方案--------------------------------------------------------
delete
 t
from 
 tb t
where 
 exists (select 1 from tb where name=t.name and cdefine1=t.cdefine1 and id>t.id)

转载于:https://www.cnblogs.com/sing2550/archive/2012/12/22/2829636.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值