SAP ORDER BY
ORDER BY是 SQL 语句中的排序子句用于指定查询结果的显示顺序。基本含义属性说明作用对查询结果按指定字段进行升序或降序排列默认排序升序ASCENDING / ASC可选排序降序DESCENDING / DESC语法格式SELECT 字段1, 字段2, ... FROM 表名 WHERE 条件 ORDER BY 字段1 [ASC/DESC], 字段2 [ASC/DESC], ...ABAP 中的使用示例1. 基础排序单字段升序SELECT * FROM ztco011 INTO TABLE DATA(lt_data) WHERE gjahr 2024 ORDER BY charg. 按批次号升序排列默认ASC2. 多字段排序SELECT * FROM ztco011 INTO TABLE DATA(lt_data) ORDER BY gjahr DESCENDING, 先按年度降序2024→2023 monat ASCENDING, 再按月份升序1→12 charg ASCENDING. 最后按批次号升序3. 聚合查询中的排序SELECT charg, gjahr, monat, COUNT(*) AS count FROM ztco011 GROUP BY charg, gjahr, monat ORDER BY count DESCENDING, 按聚合行数降序多的在前 charg ASCENDING 行数相同则按批次号升序 INTO TABLE DATA(lt_result).排序规则对比关键字含义示例效果ASCENDING(或 ASC)升序A→Z, 1→9, 2023→2024DESCENDING(或 DESC)降序Z→A, 9→1, 2024→2023实际效果演示假设原表数据无序CHARGGJAHRMONATMENGEB002202402100A001202401200B002202401150A001202312300使用ORDER BY gjahr DESCENDING, monat ASCENDING, charg后CHARGGJAHRMONATMENGEA001202401200B002202401150B002202402100A001202312300注意事项注意点说明性能影响大数据量排序会消耗数据库资源必要时建立索引NULL值处理默认NULL值排在升序最前/降序最后数据库相关与 GROUP BY 配合ORDER BY 必须放在 GROUP BY 之后ABAP 7.40 语法使用DATA()内联声明需加符号