首先来说说问题的需求: (是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 ||
(row_number() over(PARTITION BY it.customer ORDER BY