mysql自连接实现删除问题

 

现有如下需求

               如图所示:对于同一code-color字段分组下得数据,如果date2等于date1,那么就删除这两条数据,如果有连续得三条这种数据就删除连续得三条。

               具体实现思路,先采用自连接处理,这样会有满足条件得数据的id字段,这两条数据的id自连接后分别处于一条数据的两个不同字段中,在对这两个字段用union进行求并集(去重),最后通过ID进行删除。

               sql如下:

               DELETE from taopai WHERE id in (SELECT t1.id1 id FROM (SELECT t1.id id1,t2.id id2 from taopai t1,taopai t2 WHERE t1.`code-color`=t2.`code-color` and t2.date2=t1.date1) t1 UNION SELECT t2.id2 id from (SELECT t1.id id1,t2.id id2 from taopai t1,taopai t2 WHERE t1.`code-color`=t2.`code-color` and t2.date2=t1.date1) t2);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值