반응형
@변수를 이용하여 rank 처럼 사용한다.
기본적으로 rownum처럼 사용하기
SELECT
@rownum := @rownum +1 AS rownum,
t.*
FROM test t,
(SELECT @rownum := 0) init // 변수 초기화
userid 별로 rank를 따로 적용하여 특정 rank만 추출하기
방법 : userid 로 sorting을 하고 userid가 바뀔때마다 @rank 변수를 초기화
주의 : 테이블의 데이타 양이 많을경우 조심해서 사용해야한다!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT * FROM ( | |
SELECT | |
@rank := ( | |
CASE WHEN @uid = t.user_id THEN @rank := @rank+1 ELSE @rank := 1 END | |
) AS rank, | |
@uid := t.user_id, | |
t.user_id | |
FROM test t | |
, (SELECT @uid := NULL, @rank := 0 ) AS init | |
ORDER BY t.user_id ASC | |
) X | |
WHERE X.rank = 2 |
반응형
'기타' 카테고리의 다른 글
우리마네에서 어머니 고희연을 끝내고 (0) | 2023.01.30 |
---|---|
nginx 조건별 header 추가 (0) | 2022.12.13 |
mysql 로그 테이블 날짜를 기준으로 파티셔닝 (0) | 2020.12.24 |
same-site와 same-origin 구분 (0) | 2020.11.12 |
조산아 및 저체중 출생아 외래 진료비 본인 부담률 경감 신청서 pdf (0) | 2018.04.12 |