欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

DELETE ADJACENT DUPLICATES FROM语句的深入研究及应用

发布时间:2025/3/20 编程问答 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 DELETE ADJACENT DUPLICATES FROM语句的深入研究及应用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
DELETE ADJACENT DUPLICATES FROM 语句,我们知道他的基本功能是:删除相邻行的重复数据。
但是他最终保留哪一行数据呢?

下面看看一个Demo:
  • DATA : BEGIN OF itab OCCURS 0,
  •          vbeln   TYPE lips-vbeln,
  •          version TYPE c LENGTH 2,
  •        END OF itab.

  • itab-vbeln = '0084000010'.
  • itab-version = '1'.
  • APPEND itab.
  • itab-vbeln = '0084000010'.
  • itab-version = '2'.
  • APPEND itab.
  • itab-vbeln = '0084000010'.
  • itab-version = '3'.
  • APPEND itab.

  • itab-vbeln = '0084000011'.
  • itab-version = '2'.
  • APPEND itab.
  • itab-vbeln = '0084000011'.
  • itab-version = '3'.
  • APPEND itab.
  • itab-vbeln = '0084000009'.
  • itab-version = '2'.
  • APPEND itab.
  • itab-vbeln = '0084000009'.
  • itab-version = '1'.
  • APPEND itab.

  • WRITE:/ '原始数据:'.
  • LOOP AT itab.
  •   WRITE: / itab-vbeln,itab-version.
  • ENDLOOP.

  • SORT itab BY vbeln ASCENDING version DESCENDING.
  • WRITE:/ '排序数据:'.
  • LOOP AT itab.
  •   WRITE: / itab-vbeln,itab-version.
  • ENDLOOP.

  • DELETE ADJACENT DUPLICATES FROM itab COMPARING vbeln.
  • WRITE:/ '排序数据:'.
  • LOOP AT itab.
  •   WRITE: / itab-vbeln,itab-version.
  • ENDLOOP.
  • 复制代码
    测试结果:
     
    可见DELETE ADJACENT DUPLICATES FROM只保留相邻重复行的第一行数据,大家也可以测试测试其他场景验证。

    实战中用法举例:

    主数据下发:一种主数据下发,可能有多个版本号,我们只保留版本号最大的一条数据,作为最新数据。用这种方法最简单啦


    总结

    以上是生活随笔为你收集整理的DELETE ADJACENT DUPLICATES FROM语句的深入研究及应用的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。