使用DELETE ADJACENT DUPLICATES FROM 删除内表邻近重复记录需要注意事项

DELETE ADJACENT DUPLICATES FROM <table>的功能是删除邻近相同的行,如果是为了把内表itab里部相同的行去掉,则应该对内表先按某个字段排序。但是有时候对某一个字段排序并不能把相同的两行排序到一起。

SORT itab BY comp1, comp2,..., compi [ASCENDING|DESCENDING] 


通常我们会按一个字段进行排序,但是这有有可能相同的行排序不到一块去,比如今天我下行对itab_sf01表按BUKRS进行排序,结果如图

图1 排序及删除语句


 

图2 itab_sf01表内容

由图2可以发现,由于排序时只按BUKRS字段,所以第1行和第3行、第2行和第4行内容相同,但没有相邻,所以执行DLETE ADJACENT DUPLICATES FROM itab_sf01 也没有达到预期目的。

解决方案:把SORT语句改成 SORT itab_sf01 BY bukrs belnr gjahr augdt.即可。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值