|
GROUP BY CEIL的使用方法: SQL> WITH A AS (SELECT 'A' CD FROM DUAL 2 UNION 3 SELECT 'B' CD FROM DUAL 4 UNION 5 SELECT 'C' CD FROM DUAL 6 UNION 7 SELECT 'D' CD FROM DUAL 8 UNION 9 SELECT 'E' CD FROM DUAL 10 UNION 11 SELECT 'F' CD FROM DUAL 12 UNION 13 SELECT 'G' CD FROM DUAL 14 UNION 15 SELECT 'H' CD FROM DUAL 16 UNION 17 SELECT 'I' CD FROM DUAL 18 ) 19 select max(decode(mod(rownum, 5), 1, CD, null)) ID1, 20 max(decode(mod(rownum, 5), 2, CD, null)) ID2, 21 max(decode(mod(rownum, 5), 3, CD, null)) ID3, 22 max(decode(mod(rownum, 5), 4, CD, null)) ID4, 23 max(decode(mod(rownum, 5), 0, CD, null)) ID5 24 from a 25 group by ceil(rownum / 5) 26 ; ID1 ID2 ID3 ID4 ID5 --- --- --- --- --- A B C D E F G H I 例二: with a as (select '01' ym from dual union select '02' ym from dual union select '03' ym from dual union select '04' ym from dual union select '05' ym from dual union select '06' ym from dual union select '07' ym from dual union select '08' ym from dual union select '09' ym from dual union select '10' ym from dual union select '11' ym from dual union select '12' ym from dual ) select max(decode(mod(rownum, 6), 1, ym, null)) ID1, max(decode(mod(rownum, 6), 2, ym, null)) ID2, max(decode(mod(rownum, 6), 3, ym, null)) ID3, max(decode(mod(rownum, 6), 4, ym, null)) ID4, max(decode(mod(rownum, 6), 5, ym, null)) ID5, max(decode(mod(rownum, 6), 0, ym, null)) ID6 from a group by ceil(rownum / 6) 软件开发网 www.mscto.com ID1 ID2 ID3 ID4 ID5 ID6 --- --- --- --- --- --- 01 02 03 04 05 06 07 08 09 10 11 12
|