2019. 1. 8. 12:45
Oracle ROWNUM -> MySQL로 바꾸는 법 개발/MySQL2019. 1. 8. 12:45
반응형
작년 3월쯤 일 때문에 Oracle로 작성된 쿼리들을 MySQL문으로 바꿔야 할 일이 있었다.
SELECT, FROM, WHERE의 구조는 같지만, 그 안에서 사용되는 함수나 규칙이 약간씩 달라서 구글에 의존했던 기억이 남아 다음에 비슷한 일이 생긴다면 좀 더 쉽게 변환하도록 정리하고자 한다.
Oracle에는 ROWNUM이란 컬럼이 자동으로 생기는 듯 했다.
하지만 현업에서 MySQL만 사용해온 나는 처음 보는 기능이었고 어떻게 비슷한 기능을 구현해야 할지 막막했었다.
그리고 검색을 통해 다음과 같이 사용하면 MySQL에서도 Oracle의 ROWNUM과 유사한 기능을 사용할 수 있다는 것을 알게 되었다.
Oracle Query EX.
SELECT ROWNUM AS RNUM, s1.*
FROM TB_USER s1
WHERE s1.user_type = "MEMBER"
MySQL Query EX.
SELECT (@R := @R+1) RNUM, s1.*
FROM TB_USER s1, (SELECT @R := 0) s2
WHERE s1.user_type = "MEMBER"
반응형