我有一張用戶預測表,我用它來生成頂級用戶及其排名的排行榜。MySQL在動態生成的排行榜中選擇用戶排名
表(predictions
)看起來是這樣的:
id | userid | fixtureid | correct
1 | 1 | 1 | 1
2 | 2 | 5 | 0
3 | 2 | 6 | 1
4 | 2 | 7 | 1
5 | 3 | 6 | 0
目前我使用此查詢生成通過結果的排行榜,然後循環:
SELECT userid, (correct * 3) AS score
FROM predictions
GROUP BY userid
ORDER BY score DESC
那麼這將顯示與此類似的排行榜,排名在每行之後使用$i++;
以php計算:
User Id | Score |
2 | 6 | #Rank is 1
1 | 3 | #Rank is 2
3 | 0 | #Rank is 3
我試圖實現
我希望能夠找出一個用戶在排行榜排名沒有建立整個表,只是使用他們userid
。
我怎樣才能做到這一點軸心記住用戶可以在未來增加到大量?
的僞的我想要實現代碼:
SELECT rank
FROM predictions
WHERE userid = 3
這將返回:
User Id | Score |
3 | 0 | #Rank is 3
的'rank' /'在PHP動態生成position' $ I ++'每條記錄,它實際上不存在這使它更難。 – Dan
嗨@Silver89,我已經更新了我的答案。 – Yorro