gpt4 book ai didi

php - 对总计未存储在数据库中的值的总和进行排名

转载 作者:行者123 更新时间:2023-11-29 05:21:30 25 4
gpt4 key购买 nike

我有一张表格,上面有同一个类(class)的四个学生的不同考试记录。标记尚未在数据库中汇总。我的问题是,是否可以在前端将个别学生的分数相加,然后对他们进行排名?我已经成功地在前端求和了分数,但是我的排名代码不起作用。第一个表显示数据库记录,而第二个表显示结果,尽管排名是空的:(

preview

result preview

这是我尝试的排名代码

    <?php

$getrnk=$db->query("SELECT SUM(marks)FIND_IN_SET( marks, (
SELECT GROUP_CONCAT( marks
ORDER BY marks DESC )
FROM examresults )
) AS rank
FROM examresults
WHERE adm_no ='$reg'");

$getrnk->execute();

$rnk=$getrnk->fetch(PDO::FETCH_ASSOC);

$strank=$rnk['rank'];
echo $strank;

?>

最佳答案

您的代码非常聪明,所以让我们努力让它工作:

SELECT SUM(marks),
FIND_IN_SET(SUM(marks),
(SELECT GROUP_CONCAT(summarks ORDER BY summarks DESC )
FROM (SELECT SUM(marks) as summarks
FROM examresults
GROUP BY adm_no
) sm
)
) AS rank
FROM examresults
WHERE adm_no = '$reg';

我印象深刻,因为我从来没有想过使用 find_in_set() 以这种方式获得排名。通常在 MySQL 中,人们会使用变量进行排名。

关于php - 对总计未存储在数据库中的值的总和进行排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25268733/

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