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 27 28 29 30 31 32 | --ORDER BY와 ROWNUM를 같이 쓰면 --ROWNUM이 먼저 적용되고 ORDER BY 됩니다. --즉 ORDER BY 이후에 ROWNUM이 적용된다는 말은 --지금 상황에서는 --ORDER BY CODE1 ASC 이후에 ROWNUM를 쓸 수 있다는 말로 해석하시면 될 것 같습니다. --제로님이 말씀하신 것과 같은 얘기고요, SELECT * FROM ( SELECT MAX (DECODE(MOD(ROWNUM,5),1,B.CODE, ' ' )) AS CODE1 , MAX (DECODE(MOD(ROWNUM,5),1,B. NAME , ' ' )) AS NAME1 , MAX (DECODE(MOD(ROWNUM,5),2,B.CODE, ' ' )) AS CODE2 , MAX (DECODE(MOD(ROWNUM,5),2,B. NAME , ' ' )) AS NAME2 , MAX (DECODE(MOD(ROWNUM,5),3,B.CODE, ' ' )) AS CODE3 , MAX (DECODE(MOD(ROWNUM,5),3,B. NAME , ' ' )) AS NAME3 , MAX (DECODE(MOD(ROWNUM,5),4,B.CODE, ' ' )) AS CODE4 , MAX (DECODE(MOD(ROWNUM,5),4,B. NAME , ' ' )) AS NAME4 , MAX (DECODE(MOD(ROWNUM,5),0,B.CODE, ' ' )) AS CODE5 , MAX (DECODE(MOD(ROWNUM,5),0,B. NAME , ' ' )) AS NAME5 FROM GOODDAY B WHERE B.ESBD_CO_CODE > 0 ORDER BY CODE1 ASC ) GROUP BY CEIL(ROWNUM / 5) |
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 27 | --아, 죄송합니다. 밖 부분만 보고 수정해서 올렸는데 안돌아가겠네요. --다시 수정했습니다. SELECT MAX (DECODE(MOD(ROWNUM,5),1,B.CODE, ' ' )) AS CODE1 , MAX (DECODE(MOD(ROWNUM,5),1,B. NAME , ' ' )) AS NAME1 , MAX (DECODE(MOD(ROWNUM,5),2,B.CODE, ' ' )) AS CODE2 , MAX (DECODE(MOD(ROWNUM,5),2,B. NAME , ' ' )) AS NAME2 , MAX (DECODE(MOD(ROWNUM,5),3,B.CODE, ' ' )) AS CODE3 , MAX (DECODE(MOD(ROWNUM,5),3,B. NAME , ' ' )) AS NAME3 , MAX (DECODE(MOD(ROWNUM,5),4,B.CODE, ' ' )) AS CODE4 , MAX (DECODE(MOD(ROWNUM,5),4,B. NAME , ' ' )) AS NAME4 , MAX (DECODE(MOD(ROWNUM,5),0,B.CODE, ' ' )) AS CODE5 , MAX (DECODE(MOD(ROWNUM,5),0,B. NAME , ' ' )) AS NAME5 FROM ( SELECT * FROM GOODDAY B WHERE B.ESBD_CO_CODE > 0 ORDER BY CODE1 ASC ) GROUP BY CEIL(ROWNUM / 5) ORDER BY CODE1 ASC |