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
'DBMS > MySQL' 카테고리의 다른 글
[MySql] SELECT 결과 UPDATE / NULL인 경우 mybatis에서 0 혹은 특정 값 UPDATE 시키기 (0) | 2022.08.11 |
---|---|
[MySql] 값이 있으면 INSERT, 없으면 UPDATE / PK 중복시 업데이트 구문 / ON DUPLICATE KEY UPDATE (0) | 2022.07.05 |