日期:2014-05-16  浏览次数:20367 次

oracle10g聚集函数,单列多行合并
从来不写笔记,最近发现越来越健忘,特此记录一下备查
单列数据多行合并为一行的oracle sql:

   SELECT  wmsys.wm_concat (t.id) as result FROM test t 
结果:
0001ZS1000000001B739,0001ZS1000000001B72S,0001ZS1000000001B72T

树形数据层次展现

1 1 AAA
2 2 BBB 1
3 1 ABC
4 3 CCC 1
5 2 DDD 1
6 21 AVC 2

select id, sys_connect_by_path(id, '/')
  from test
start with pid is null
CONNECT BY prior id = pid

结果:
1 1 /1
2 2 /1/2
3 21 /1/2/21
4 3 /1/3
5 2 /1/2
6 21 /1/2/21
7 1 /1
8 2 /1/2
9 21 /1/2/21
10 3 /1/3
11 2 /1/2
12 21 /1/2/21