每个学生都有一些分数(每个分数都有student_id
列)。
我想计算学生的平均水平,将他的平均水平与其他学生进行比较,并找到他在班级中的位置。
是否可以通过 1 次查询根据他的平均值找到他的位置?(可能包含子查询或连接)
我可以通过以下查询按所有学生的平均值对所有学生进行排序:
SELECT s.*
FROM
scores s LEFT JOIN lessons lesson
ON lesson.id = s.lesson_id
WHERE lesson.display = 1
GROUP BY s.student_id
ORDER BY AVG(s.score) DESC
但它需要用PHParray_search
函数处理。(我认为在这种情况下使用 MySQL 函数更好)