当前位置:网站首页>ABAP 7.4 SQL Window Expression
ABAP 7.4 SQL Window Expression
2022-04-23 06:25:00 【rogerix4】
1. 应用场景
- 在用OpenSQL取数时;既要看到每个日期占据头等舱的座位数量的数据,也要取得所有日期占据头等舱的座位数量的平均值
2. 代码
- SQL Window Expression 使用关键词 OVER
- PARTITION BY 相当于OpenSQL中的Group By
SELECT carrid, connid, fldate, seatsocc_f, SUM( seatsocc_f ) OVER( PARTITION BY carrid, connid ) AS sum_seatsocc_f, COUNT( seatsocc_f ) OVER( PARTITION BY carrid, connid ) AS count_seatsocc_f, MIN( seatsocc_f ) OVER( PARTITION BY carrid, connid ) AS min_seatsocc_f, MAX( seatsocc_f ) OVER( PARTITION BY carrid, connid ) AS max_seatsocc_f, AVG( seatsocc_f ) OVER( PARTITION BY carrid, connid ) AS avg_seatsocc_f FROM sflight WHERE carrid = 'AA' AND connid = '0064' ORDER BY carrid, connid INTO TABLE @DATA(lt_tab). cl_demo_output=>display( lt_tab ).
3. 效果
-
如下图:seatsocc_f 为每个日期占据头等舱的座位数量的数量 avg_seatsocc_f 为所有日期占据头等舱的座位数量的平均值
-
注意 1.3153846153846153E+01 为科学计数法;在Excel中对应的值为 13.1538461538461
-
可使用下面代码转换科学计数法的数据
SELECT carrid, connid, fldate, seatsocc_f, SUM( seatsocc_f ) OVER( PARTITION BY carrid, connid ) AS sum_seatsocc_f, COUNT( seatsocc_f ) OVER( PARTITION BY carrid, connid ) AS count_seatsocc_f, MIN( seatsocc_f ) OVER( PARTITION BY carrid, connid ) AS min_seatsocc_f, MAX( seatsocc_f ) OVER( PARTITION BY carrid, connid ) AS max_seatsocc_f, AVG( seatsocc_f ) OVER( PARTITION BY carrid, connid ) AS avg_seatsocc_f FROM sflight WHERE carrid = 'AA' AND connid = '0064' ORDER BY carrid, connid INTO TABLE @DATA(lt_tab). LOOP AT lt_tab ASSIGNING FIELD-SYMBOL(<fs_tab>). DATA l_char TYPE cha_class_view-sollwert. CALL FUNCTION 'QSS0_FLTP_TO_CHAR_CONVERSION' EXPORTING i_number_of_digits = 8 i_fltp_value = <fs_tab>-avg_seatsocc_f i_value_not_initial_flag = 'X' i_screen_fieldlength = 16 IMPORTING e_char_field = l_char. WRITE: / l_char. ENDLOOP.
版权声明
本文为[rogerix4]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_30797051/article/details/123924990
边栏推荐
猜你喜欢
SAP PI/PO Soap2Proxy 消费外部ws示例
BTree、B+Tree和HASH索引
Mysql持久性的实现
Background management system framework, there is always what you want
Reflection on the systematic design of Android audio and video caching mechanism
SAP PI/PO rfc2RESTful 發布rfc接口為RESTful示例(Proxy間接法)
菜菜的并发编程笔记 |(五)线程安全问题以及Lock解决方案
快速下载vscode的方法
页面实时显示当前时间
反思 | Android 音视频缓存机制的系统性设计
随机推荐
超级宝典&编程指南(红蓝宝书)-读书笔记
Django使用mysql数据库报错解决
手游性能优化
manjaro安装与配置(vscode,微信,美化,输入法)
CSDN很火的汤小洋老师全部课程总共有哪些(问号问号问号)
反思 | 事件总线的局限性,组件化开发流程中通信机制的设计与实现
What is a closure?
P1390 公约数的和(莫比乌斯反演)
反思 | Android 音视频缓存机制的系统性设计
两个线程交互打印奇偶数字
Object. Create() principle, object Create() specification, handwritten object create(),Object. Create() usage
[牛客挑战赛47]C.条件 (bitset加速floyd)
OpenGL超级宝典初步配置(freeglut、glew、gltools、glut)
Background management system framework, there is always what you want
SAP PI/PO rfc2Soap 发布rfc接口为ws示例
快速下载vscode的方法
[COCI]Lampice (二分+树分治+字符串哈希)
anaconda3安装
5.SQL99标准:内连接和外连接
菜菜的刷题日记 | 蓝桥杯 — 十六进制转八进制(纯手撕版)附进制转换笔记