![](/img/trans.png)
[英]How can I create a mysql_query that pulls items ranked using a Bayesian average?
[英]Query to get grouped items ranked?
我有一個針對各種用戶的命中表:
HITS:
id | userid
1 | 1
2 | 1
3 | 2
4 | 1
5 | 2
6 | 2
我想以最快的方式獲得按ID排序的這些項目的列表。 所以這:
HITS RANKED:
id | userid | ranks
1 | 1 | 1
2 | 1 | 2
3 | 2 | 1
4 | 1 | 3
5 | 2 | 2
6 | 2 | 3
我要避免將兩個表相互連接,因為當表變大時,這將永遠花費。 還有其他建議嗎?
SELECT ID,
UserID,
Ranks
FROM
(
SELECT id,
userid,
@group:=CASE WHEN @temp <> userid THEN 1 ELSE @group+1 END AS ranks,
@temp:=userid AS clset
FROM (SELECT @group:= 0) s,
(SELECT @temp:= 0) c,
(SELECT * FROM hits ORDER BY userid, id) t
) x
ORDER BY ID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.