mysql 쿼리문으로 순위를 update 하고 싶습니다.

mysql 쿼리문으로 순위를 update 하고 싶습니다.

QA

mysql 쿼리문으로 순위를 update 하고 싶습니다.

본문

node.js 독학을 하고 있습니다.

 

988135872_1584553591.3361.png

 

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

 

988135872_1584553743.5848.png

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

rownum 기능을 함 써보시는건 어떠신지요. 이게 맞는지 모르겠지만(기억이 가물가물)

 


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

query문을 사용하면 좋겠지만...

서버 호스팅 버전을 올릴수 없다면...

 

PHP의 배열을 이용하시는 방법은 어떠신가요?

배열 비교, 정렬하시면 원하시는 답을 얻을수 있지 않을까합니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT