동일 레벨에서 함께 기술되면 ROWNUM 이 ORDER BY 보다 먼저 수행됩니다.
ORDER BY 가 먼저 수행되도록 인라인뷰로 감싸 주세요.
분석함수 ROW_NUMBER 을 이용하는 방법도 있습니다.
-- 1. 인라인뷰를 이용하여 정렬부터 처리한 후 ROWNUM SELECT ROWNUM rn , title , reg_date FROM (SELECT title , reg_date FROM (SELECT title, reg_date FROM table_a UNION ALL SELECT title, reg_date FROM table_b ) ORDER BY reg_date DESC ) ; -- 2. UNION 에서 바로 정렬 처리 SELECT ROWNUM rn , title , reg_date FROM (SELECT title, reg_date FROM table_a UNION ALL SELECT title, reg_date FROM table_b ORDER BY 2 DESC ) ; -- 3 ROW_NUMBER 이용 SELECT ROW_NUMBER() OVER(ORDER BY reg_date DESC) rn , title , reg_date FROM (SELECT title, reg_date FROM table_a UNION ALL SELECT title, reg_date FROM table_b ) ;