DB/ORACLE

[ORACLE] 다단 SELECT SQL

울면서개발하기 2025. 1. 21. 10:49

한 페이지에,

총 20개의 데이터가,

왼쪽 다단에 10개,

오른쪽 다단에 10개가 표시되는 SELECT SQL

 

SELECT MAX(DECODE(LR, 0, RN)) AS L
     , MAX(DECODE(LR, 1, RN)) AS R
  FROM (
           SELECT RN                                   AS RN
                , RN - (FLOOR((RN + 10 -1) / 20) * 10) AS PRN 
                , MOD(FLOOR((RN - 1) / 10), 2)         AS LR
             FROM (
                       SELECT LEVEL AS RN
                         FROM DUAL A
                      CONNECT BY LEVEL < 51
                  )
       )
 GROUP BY PRN
 ORDER BY PRN