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부터 순서대로 부여된다.
은근히 자주 쓰이는 편리한 방법이다. ^^
'데이터베이스 > MySQL' 카테고리의 다른 글
MySQL 리플리케이션(replication) 설정 방법 (0) | 2013.05.07 |
---|---|
[MySQL] BIN LOG를 이용한 쿼리문 내역 추출 (0) | 2012.04.19 |
[MySQL] my.cnf 최적화 (0) | 2011.11.15 |
[MySQL] 다양한 Query 문 (0) | 2011.10.10 |
사설아이피가 부여된 내부 MySQL 계정으로 원격접속하는 방법 (0) | 2011.06.11 |