各生徒にはいくつかのスコアがあります (各スコアには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
array_search
ただし、PHP関数で処理する必要があります。(この状況では、MySQL関数を使用する方が良いと思います)