반응형
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 |
반응형
'IT > MYSQL' 카테고리의 다른 글
MYSQL - 그룹 순서 매기기 ROWNUM (2) | 2024.03.22 |
---|---|
MYSQL - LIMIT 사용 방법 (0) | 2024.03.04 |
MYSQL - UPDATE 할 때 JOIN 사용하기 (0) | 2023.09.17 |
MYSQL - INSERT, UPDATE, DELETE 데이터 삽입, 수정, 삭제하기 (0) | 2023.09.07 |
MYSQL - GROUP BY HAVING 절 사용하기 (0) | 2023.03.11 |
댓글