1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
> with t
2 as (select 1 id ,11 value from dual union
3 select 1 ,12 from dual union
4 select 1, 13 from dual union
5 select 1 ,14 from dual union
6 select 2 ,21 from dual union
7 select 2 ,22 from dual union
8 select 2 ,23 from dual union
9 select 3, 14 from dual union
10 select 3, 10 from dual union
11 select 3, 18 from dual)
12 SELECT id,
13 MAX(DECODE ( rn , 1, value )) t1,
14 MAX(DECODE ( rn , 2,value )) T2
15 FROM
16 (SELECT id,value,
17 row_number() OVER ( partition by id order by rownum) rn
18 FROM t)
19 GROUP BY id;
ID T1 T2
---------- ---------- ----------
1 11 12
2 21 22
3 10 14 |
Partager