mysql RANK(랭킹) 쿼리 어떻게 해요?
조회수 6841회
안녕하세요 mysql로 랭킹 출력 시킬려고하는데요.
SELECT * FROM (
SELECT
cu_distribution,
count(cu_status),
@curRank := @curRank + 1 AS rank
FROM
cs_customer p, (SELECT @curRank := 0) r where cu_status=1
group by cu_distribution order by count(cu_status)) AA
결과를 보면
이렇게 되는데요. ㅠ 왜그런거죠?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
오늘 몇시간동안 연구하다가 겨우 해결됐어요. 혹시 저처럼 막히신분 아래처럼 하시길 바랍니다.
SELECT cu_distribution, status, @Rank:=@Rank + 1 AS user_rank FROM ( SELECT cu_distribution, count(cu_status) AS status FROM cs_customer where cu_status=1 GROUP BY cu_distribution ORDER BY status DESC ) Sub1 CROSS JOIN (SELECT @Rank:=0) Sub2
이렇게 하시면 된답니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력