본문 바로가기
programming/mysql

mysql rownum 구현하기

by hotdogya 2012. 9. 17.

mysql을 쓰다보면 oracle 처럼 rownum을 써야하는 경우가 생긴다.

 

혹은, 자동으로 1씩 증가하는 for 문의 변수(주로 integer i)와 같은 형태의

 

컬럼의 쿼리에서 구현하는 것이 편할 때가 있다.

 

주로 ordering이나 grouping 후 순위를 매길 때가 그런 경우인데,

 

그럴 때 쓸 수 있는 rownum이 mysql에도 있다.

 

ex 1 )

SELECT @RNUM := @RNUM + 1 AS ROWNUM

FROM ( SELECT @RNUM := 0 ) R


 

ex 2 )

SELECT @RNUM := @RNUM + 1 AS ROWNUM, t.*

FROM

  (

    SELECT *

    FROM table

    ORDER BY column1

  ) t,

  ( SELECT @RNUM := 0 ) R


ex 2 처럼 구현하게 되면 ordering 된 상태에서 rownum이

 

0부터 순서대로 부여된다.


출처 : http://dhplanner.blogspot.kr/2009/07/mysql-rownum-구현하기.html


'programming > mysql' 카테고리의 다른 글

[MySQL] MySQL LIMIT의 속도 저하 피하기  (0) 2012.10.01
엑셀 insert 쿼리 만들기  (0) 2012.06.22