[英]What is a good design for Ranking System
我有一個USER
表,它有userId
和point
字段。 在運行時,我想知道特定用戶群的排名是什么。 完成此任務的最佳方法是什么:
1:將所有用戶查詢到列表中。 基於點對列表進行排序並進行二進制搜索以查找該用戶的排名。 這聽起來像個壞主意。
2:是否可以通過創建數據庫查詢來完成這些任務?
我期待2000-5000用戶。
SET @rownum := 0;
SELECT rank, userId, point
FROM (
SELECT @rownum := @rownum + 1 AS rank, userId, point
FROM user ORDER BY point DESC
)
as result WHERE userId = xxxxxxxx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.