结果中的 PLSQL 动态行计数

  • 本文关键字:动态 PLSQL 结果 plsql
  • 更新时间 :
  • 英文 :


在PL SQL中,有没有办法产生每个客户的订单计数,如下所示... 感谢您的帮助。

Cust     Order#    Order Count
ABC1     011       1 
ABC1     052       2
ABC1     199       3
BBA1     150       1
BBA1     158       2

谢谢 加文

如果我理解正确,一点分析可能会完成这项工作。下面是一个示例:

SQL> with test (cust, order#) as
2    (select 'ABC1', '011' from dual union all
3     select 'ABC1', '052' from dual union all
4     select 'ABC1', '199' from dual union all
5     select 'BBA1', '150' from dual union all
6     select 'BBA1', '158' from dual
7    )
8  select cust, order#,
9    row_number() over (partition by cust order by order#) order_count
10  from test;
CUST ORD ORDER_COUNT
---- --- -----------
ABC1 011           1
ABC1 052           2
ABC1 199           3
BBA1 150           1
BBA1 158           2
SQL>

听起来你想要一个 GROUP BY,例如

select cust, SUM(order_count)
from MyTable
group by cust;

哪个应该产生

cust   SUM
ABC1   6
BBA1   3

最新更新