У меня есть таблица БД с именем 'examMarks' с различными оценками ученика, и я хотел бы вычислить результат, полученный при ее получении позиции / ранга студента по каждому предмету и общей позиции / ранга каждого студента. После нескольких поисков в Google, я нашел SQL скрипт, который делает что-то похожее, но я понял, что он вычисляет только позицию / ранг каждого предмета для всех студентов в go не индивидуально. Пожалуйста, мне нужна помощь. Ниже приведен скриншот таблицы БД и сценария, который я пробовал до сих пор.
Изображение: Обновленная таблица БД с именем examMarks
SELECT
( SELECT COUNT(*) + 1 FROM examMarks ref WHERE ref.totalMarks > main.totalMarks ) AS rank,
id,
subjectId,
CA1Exam,
CA2Exam,
examMark,
totalMarks,
markComments
FROM
examMarks main
WHERE
classId = '$classId'
AND SESSION = '$session'
AND term = '$term'
AND studentId = '$studentId'
ORDER BY
subjectId ASC
);