0
在遵循SO中發佈的一些示例(即Multiple ranks in one table)之後,我試圖將這種方法應用於我自己的情況,但是我沒有得到我期待的結果。這裏是我的查詢:在MySql中排序邏輯的問題
select r.memberid, r.final_rating,le.event_date, le.id, le.league_id,
(CASE r.memberid WHEN @curMember THEN @curRow := @curRow+1 ELSE @curRow := 1 AND @curMember := r.memberid END) AS rank
from rating r
inner join league_event le on r.league_event_id=le.id
inner join (SELECT @curRow := 0, @curMember := 0) x
where r.memberid IS NOT NULL
order by r.memberid, le.event_date desc, le.id desc
這裏是輸出:
我試圖做的是一羣我的記錄由MEMBERID內,然後這些組顯示的記錄event_date和id(事件)的降序。但顯然發生的情況是,每當league_id發生變化時,排名會在成員記錄集內重置,即使我的查詢中除select子句外沒有在其他任何地方包含league_id。這裏發生了什麼?
您可以爲您的表添加結構和一些測試數據嗎?我寫了我的改編方法,但沒有經過測試。 –