Google AdSense (text)

hidden logo stop

Moving

거지 같은 이글루스 광고노출 정책이 싫어서,
새 보금자리(http://blog.leocat.kr/)로 이사감.

[MySQL] rownum처럼 번호 붙이기 Computer & Program

MySQL은 rank 함수나 rownum 같은게 없다. 때문에 사용자 정의 변수를 사용하는 것 같다. (사용자 정의 변수는 5.0 버전 이상에서 사용할 수 있다 함)

몇 가지 방법이 있는 것 같은데 가장 간단해 보이는걸로..
SELECT @rank:=@rank+1 rank, sub.*
FROM (SELECT @rank:=0) rank,
({SUBQUERY_HERE}) sub;
-- 변수 @rank를 초기화 하지 않으면 계속 쌓이기 때문에 subquery로 @rank:=0이 추가됨

또는 (join이 싫다면..)

SET @rank:=0;
SELECT @rank:=@rank+1 rank, sub.*
FROM {YOUR_TABLE_HERE} sub
{CONDITION_OR_ORDERING_HERE};


성능은 장담 못 하겠음 @ㅅ@

덧글

  • 2016/05/30 17:29 # 답글 비공개

    비공개 덧글입니다.
댓글 입력 영역

Google AdSense (text/image)