Abap 如何组合选择最大值和计数?
我有这个:Abap 如何组合选择最大值和计数?,abap,opensql,Abap,Opensql,我有这个: select ordernr from users having count(ordernr) = ( select max(count(ordernr)) from users where ordernr = ordernr group by ordernr ) group by ordernr 从所有用户处获取最常用的订单号ordernr 如何将其导入ABAP SAP系统?我试过这个: select SINGLE ordernr from ZDEV
select ordernr
from users
having count(ordernr) =
( select max(count(ordernr))
from users where ordernr = ordernr
group by ordernr )
group by ordernr
从所有用户处获取最常用的订单号ordernr
如何将其导入ABAP SAP系统?我试过这个:
select SINGLE ordernr
from ZDEVXXX_PROJECT3 INTO ordernrU
having count( * ) =
( select max( count( * ) )
from ZDEVXXX_PROJECT3
where ordernr = ordernr
group by ordernr )
但我得到了这个错误:
"Unknown columnname COUNT("
如何在ABAP中组合最大值和计数?上面的SQL查询在Oracle中为我工作。
谢谢 如果要在HAVING子句中使用COUNT*,则需要在结果集中使用COUNT*。有关示例,请参见。自6.1版以来,您可以在HAVING子句中使用聚合。 但你的答案是不行的。聚合只能采用aggr{[distinct]列|*}的形式 所以你必须
select count( * )
into table itab
from ZDEVXXX_PROJECT3
where ordernr = ordernr
group by ordernr
然后找到程序中的最大计数。只有在具备条件时才能使用它。或者您可以使用ABAP Open SQL。它允许您访问特定数据库的SQL,您可以执行上述查询。您可能指的是原生SQL,不,这不是应用程序开发中要采用的方法。如果您不关心那些必须维护您留下的经过审查的数据库的人,是的。我提出了一种有效的方法。原生SQL存在,它是特定于DB的,但有时它在ABAPSQL不存在的地方工作。我不会使用像XYZ不是应用程序开发中要采用的方法这样的短语,它不是由您来决定的。有些人可能会认为ABAP不是一种开发方法。您正在寻找的SQL聚合技术是SAP OpenSQL在R/3上调用的,不受其支持。您可能需要ABAP代码,并且不能单独使用SQL来解决它,至少不能以可读的方式解决。