본문 바로가기
DBMS/MySQL

[MySQL] rownum, 역순 출력

by 성은2 2022. 8. 22.

https://developer-jjun.tistory.com/23

 

[MySQL] ROWNUM을 사용하여 번호매기기

MySQL에서 Oracle처럼 ROWNUM 사용법 SET구문을 사용하여 ROWNUM 값을 초기화 후 조회 SET @rownum:=0; SELECT @rownum:=@rownum+1, b.* FROM buyingboard b WHERE절에서 초기화 SELECT @rownum:=@rownum+1, b.*..

developer-jjun.tistory.com

 

rownum을 역순으로 매기는 방법

1. 서브쿼리를 이용해서 ROWNUM을 부여한다.

2. 서브쿼리의 바깥쪽에서 ROWNUM을 다시 정렬한다.

 

 

ROWNUM을 서브쿼리에서 역순으로 설정해준 후 (마지막에 출력하고 싶은 행이 마지막 번호가 되게)

최종적으로 원하는 형태로 ORDER BY 해주면 

의도한 ORDER BY 는 유지하되, ROWNUM 값은 역순인 데이터 형태를 만들 수 있다.

 

 

예제 : create_date가 DESC인 순으로 정렬하되, 가장 마지막에 등록된 것의 rowNum을 가장 높게.

SELECT a.*, @rownum:=@rownum+1 AS rowNum
    FROM (
            SELECT *FROM banner
             WHERE (@rownum:=0)=0
             ORDER BY create_date ASC
          ) AS a
ORDER BY rowNum DESC