SQL> select * from test; ID
----------
1
2
3
4
5
6
7
8
99 行 已选择SQL> select id1,id2,id3 from (
2 select
3 lead(id,0) over(partition by seq order by rn) id1,
4 lead(id,1) over(partition by seq order by rn) id2,
5 lead(id,2) over(partition by seq order by rn) id3,
6 row_number() over(partition by seq order by rn) rrk
7 from (
8 SELECT id,rn, row_number()
9 OVER ( PARTITION BY rn ORDER BY id) seq FROM (select FLOOR((rownum-1)/4) rn,id from test)))
10 where rrk=1
11 / ID1 ID2 ID3
---------- ---------- ----------
1 5 9
2 6
3 7
4 8 SQL>
----------
1
2
3
4
5
6
7
8
99 行 已选择SQL> select id1,id2,id3 from (
2 select
3 lead(id,0) over(partition by seq order by rn) id1,
4 lead(id,1) over(partition by seq order by rn) id2,
5 lead(id,2) over(partition by seq order by rn) id3,
6 row_number() over(partition by seq order by rn) rrk
7 from (
8 SELECT id,rn, row_number()
9 OVER ( PARTITION BY rn ORDER BY id) seq FROM (select FLOOR((rownum-1)/4) rn,id from test)))
10 where rrk=1
11 / ID1 ID2 ID3
---------- ---------- ----------
1 5 9
2 6
3 7
4 8 SQL>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货