오라클 등의 디비에서는 row_number()를 이용하여 행마다의 순번을 지정할 수 있으나
mysql 에서는 해당 함수가 없다.
대신 아래와 같은 방법을 이용할 수 있다.
set @num:=0; select @num:=@num+1 as rownum, field1, field2 from {TABLE} [where];
num 이라는 변수를 생성 0으로 초기화 하여 행별값을 증가 시킨다.
해당 변수는 DB 연결상태에서 계속 유지 되므로 다른 쿼리에서 사용시 초기화 해줘야 한다.
select 쿼리문의 where 절에서도 초기화가 가능하다.
select @num:=@num+1 as rownum, field1, field2 from {TABLE} where (@num:=0)=0 [where];
@http://stackoverflow.com/questions/1895110/row-number-in-mysql
'Database' 카테고리의 다른 글
mysql 복구 (0) | 2016.06.14 |
---|---|
Mysql 에서 HTML 태그 삭제 함수(strip_tags) (0) | 2015.03.12 |
MSSQL Express 백업스크립트 (0) | 2013.05.15 |
mysqldump 시 "Can't open file: './DB/table.frm' (errno: 24) when using LOCK TABLE" (0) | 2012.05.29 |
Mysql 디비 사용량확인 (0) | 2011.11.24 |