ABAP SQL取最大值及聚合函数OUNT, AVG, MAX的简单例子 SAP

本文介绍了在ABAP中获取最大值的三种方法,并提供了一个SAP帮助中的例子,展示了如何使用COUNT聚合函数来确定飞往特定城市的航空公司数量。

在ABAP里取最大值,有好几种方法
第一种

SELECT  posnr                   "项目号
  FROM resb AS a
  JOIN afko AS b ON a~aufnr = b~aufnr
  INTO TABLE  lt_resb
 WHERE a~aufnr = gs_item-orderid.

SORT lt_resb DESCENDING  BY posnr .          "取最大的项目号 + 10
READ TABLE lt_resb INTO ls_resb INDEX 1.
lw_posnr  =  ls_resb-posnr + '10' .

在这里插入图片描述
在这里插入图片描述

第二种

SELECT  POSNR
  FROM resb UP TO 1 ROWS
  INTO TABLE  lt_resb
  WHERE aufnr = gs_item-orderid
  ORDER BY POSNR DESCENDING .

第三种
没试验过,利用聚合函数取最大值,这里给个例子来自SAP帮助。好几种功能。

返回航班号为0400的所有汉莎航空航班的
航班日期、乘客人数以及平均和最大行李重量。

TYPES: BEGIN OF wa,
        fldate LIKE sbook-fldate,
        count  TYPE i,
        avg    TYPE p DECIMALS 2,
        max    TYPE p DECIMALS 2,
      END OF wa.
DATA  itab TYPE TABLE OF wa WITH EMPTY KEY.

SELECT fldate, COUNT( * ), AVG( luggweight ), MAX( luggweight )
       FROM sbook
       INTO TABLE @itab
       WHERE carrid = 'LH' AND
             connid = '0400'
       GROUP BY fldate.

cl_demo_output=>display( itab ).

在这里插入图片描述
确定飞往纽约的航空公司数量,合计的一个功能COUNT

DATA count TYPE i.

SELECT COUNT( DISTINCT carrid )
FROM spfli
INTO @count
WHERE cityto = ‘NEW YORK’.

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

abap帅哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值