본문 바로가기
IT/MYSQL

MYSQL - 순서 매기기 ROWNUM

by 꿀코 2024. 3. 22.
반응형

MYSQL에서 오라클 처럼 행의 순서를 매겨 행번호를 조회하는 방법들을 알아보겠습니다. MYSQL 8버전 이상에서는 RANK, ROW_NUMBER 내장함수로 쉽게 매길 수 있으나 5버전 이하에서는 다음과 같은 방식으로 조회할 수 있습니다.

 

 

1) SET으로 초기화하는 방법

-- 초기화
SET @ROWNUM:=0;

-- 조회
SELECT @ROWNUM:=@ROWNUM+1 AS ROWNUM, A.*
FROM DEPT A
ORDER BY A.SALARY

 

2) WHERE 절에서 초기화하는 방법

SELECT @ROWNUM:=@ROWNUM+1 AS ROWNUM, A.*
FROM DEPT A
WHERE (@ROWNUM:=0)=0
ORDER BY A.SALARY

 

3) FROM 절에서 초기화하는 방법

SELECT @ROWNUM:=@ROWNUM+1 AS ROWNUM, A.*
FROM DEPT A, (SELECT @ROWNUM:=0) TMP
ORDER BY A.SALARY

 

위의 3가지 방법 모두 아래와 같이 같은 결과를 조회할 수 있습니다.

 

ROWNUM DEPT NAME SALARY
1 영업 김영철 56000
2 개발 김지수 52000
3 개발 이재현 50000
4 마케팅 박수홍 43000

 

 

 

벨레다 어린이 치약, 50ml, 1개

반응형

댓글