我正在尝试排名结果,首先基于总数,但我需要打破基于最后一项的日期的关系。下面是我的查询,它可以进行排名,但不能处理平局。
SELECT @rownum := @rownum +1 AS rank, total, user_id
FROM (
SELECT sum( score ) AS total, user_id
FROM submissions
WHERE group_id = $group_id
AND status = 1";
GROUP BY user_id
ORDER BY total DESC
) T, (
SELECT @rownum :=0
) a
这将返回以下内容
rank | total | user_id
1 | 90 | 1366
2 | 89 | 756
3 | 89 | 1026
4 | 89 | 1987
我需要的是另一个子查询,以获得每个用户提交(或至少最后提交),并使其排名最早的date_submitted。
转载请注明出处:http://www.tiantaijiaoyu.com/article/20230526/2084800.html