mysql 쿼리문으로 순위를 update 하고 싶습니다. 채택완료
JJINY
5년 전
조회 4,122
node.js 독학을 하고 있습니다.

app_player 테이블의 money 크기를 비교해서 rank에 순위를 삽입하는 쿼리문을 짜고 싶습니다.

UPDATE app_player A,(SELECT B.user_id, RANK() OVER(ORDER BY money DESC) RK FROM app_player B) C SET A.rank = C.RK WHERE A.user_id=C.user_id
해봤는데 mysql 버전이 낮아 rank()를 쓸 수가 없습니다.
서버 호스팅이라 버전을 올릴수도 없어서 rank()를 쓰지 않는 쿼리문을 찾고 있는데 힘드네요ㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
5년 전
rownum 기능을 함 써보시는건 어떠신지요. 이게 맞는지 모르겠지만(기억이 가물가물)
</p>
<p>UPDATE app_player A, (
SELECT
B.userid,
B.money,
@rownum := @rownum + 1 AS RNUM
FROM app_player B, (SELECT @rownum := 0) AS ROWNUM
ORDER BY B.money DESC
) C
SET
A.rank = C.RNUM
WHERE
A.userid = C.userid</p>
<p>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인