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.即可。
使用DELETE ADJACENT DUPLICATES FROM <table>注意
最新推荐文章于 2025-01-25 22:07:46 发布
本文探讨了在数据库操作中删除邻近相同行的功能 DELETE ADJACENT DUPLICATES FROM 的应用,通过实例展示了排序语句的正确使用方法,并提供了优化策略以确保预期效果的实现。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Anything-LLM
AI应用
AnythingLLM是一个全栈应用程序,可以使用商用或开源的LLM/嵌入器/语义向量数据库模型,帮助用户在本地或云端搭建个性化的聊天机器人系统,且无需复杂设置


1322

被折叠的 条评论
为什么被折叠?



