首先来说说问题的需求: (是csdn论坛里的问题)
示例如下,表invoice_test:
order_num customer
263663 A
273631 A
163263 B
173636 B
553024 A
想得到这样的结果:
customer order_num
A 263663;273631;553024
B 163263;173636
SQL:
SELECT DISTINCT yy.customer,
ltrim(first_value(path)
over(PARTITION BY yy.customer ORDER BY yy.lev DESC),
';') order_num
FROM (SELECT tt.*,
LEVEL lev,
sys_connect_by_path(order_num, ';') path
FROM (SELECT it.customer ||

本文介绍如何使用 Oracle 的 connect by 和 sys_connect_by_path 函数解决数据合并问题,以展示特定客户的订单号组合。通过示例,解释了为何不能使用 rownum 替换 row_number() over(PARTITION BY) ,并展示了使用 rownum 时产生的不同结果。
最低0.47元/天 解锁文章
1058

被折叠的 条评论
为什么被折叠?



