본문 바로가기
쿤즈 Server/MariaDB | Mysql

[Mysql] 오라클 rownum 키워드 Mysql 변경

by :)Koon 2022. 4. 23.

프로젝트를 진행하다 보면 데이터베이스 업그레이드 혹은 다른 데이터베이스로 마이그레이션을 해야 하는 경우가 종종 발생합니다. 특히 다른 데이터베이스로 넘어가는 경우에는 여러 가지 쿼리를 확인해야 하죠.


이번 포스팅에서는 오라클에서 사용하는 rownum을 mysql에서 어떻게 변경할 수 있는지 알아볼게요.


오라클에서 사용하는 rownum

오라클에서 사용하는 rownum은 리스트의 순서대로 번호를 순차적으로 만들어주는 기능입니다. 그래서 조회된 데이터가 몇 번째 행인지 쉽게 알 수 있습니다. rownum은 보통 아래와 같이 사용합니다.

selelct rownum, m.* from member m;


member 테이블의 전체를 가져오되 가장 앞에는 rownum이라는 키워드를 넣어줘서 각 필드에 번호를 넣어주도록 합니다. 필드별로 인덱스가 순차적인 숫자라면 필요가 없겠지만 숫자가 아니라면 굉장히 유용한 기능입니다.


Mysql에서 rownum 대신 사용하는 방법

@R이라는 키워드를 넣어주는 방법입니다. 이 키워드는 미리 값을 0으로 초기화해서 넣는 방법이 있으며 구문 내에서 초기화 해주는 방법이 있습니다.  먼저 미리 값을 초기화하는 방법입니다.

// 미리 값을 초기화
set @R := 0;

// 값 조회
select (@R:=@R+1) rownum, m.* from member m;

 

하지만 구문 내부에서 바로 사용하는 방법이 조금 편리할 수 있습니다. 그래서 아래와 같이 한 번에 사용합니다.

// 구문에 넣어서 한 번에 조회
select (@R:=@R+1) rn, m.*
from member m, (select @R:=0) r;

이번 포스팅에서는 Oracle 데이터베이스에서 Mysql로 마이그레이션이 필요할때 rownum 키워드를 해결하는 방법을 알아보았습니다. 대부분의 SQL 구문은 비슷하지만 각 데이터베이스마다 사용하는 키워드나 구문이 있기 때문에 쉽진 않은 것 같습니다. 도움이 되셨으면 합니다. 이상입니다.

댓글