gpt4 book ai didi

mysql - 使用 SQL 对位置进行排名

转载 作者:行者123 更新时间:2023-11-29 16:32:43 25 4
gpt4 key购买 nike

尝试对位置进行排名,但当第三个位置出现平局时,它不会给出 (1,2,3,3,5..),而是给出 (1,2,3,4,5...)。 。 请帮助下面是代码..谢谢...................................................... ………………

SELECT t.*
FROM (SELECT @curRank := IF(@prev= @cur, @curRank, @curRank + 1 ) AS classPosition,student_id, @prev:=@cur, @cur:=SUM(total_marks)
FROM (SELECT m.*
FROM marks m
WHERE classform_name = ? AND term = ? AND academic_year = ? GROUP BY student_id
ORDER BY SUM(total_marks) DESC
) n CROSS JOIN
(SELECT @curRank := 0, @prev:=NULL, @cur:=NULL ) q GROUP BY student_id
) t
WHERE student_id = ?

...................................................... ......................................

最佳答案

您不需要 RANK 函数。您始终可以按 joining the table to itself 对行进行排名,在这种情况下,您可以选择如何确定顺序(和排名)。

关于mysql - 使用 SQL 对位置进行排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53785782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com