학생들의 평균에 따라 순위를 지정하는 쿼리가 있습니다.이 mysql 쿼리는 전체 클래스의 위치를 쿼리 할 때 잘 작동합니다. 그러나 예를 들어 특정 학생에 대한 직책을 원할 때 목록에서 학생이 위치하지 않을 때에도 해당 질문은 해당 학생의 직급과 순위를 매 깁니다.데이터베이스에 학생 마크의 위치를 정확하게 나열하십시오.
다음은 전체 클래스를 쿼리 할 때의 쿼리입니다. 여기 그것이 잘 작동합니다.
SELECT (@rownum := @rownum + 1) AS rank, student_id,
student_name,term_1_avg
FROM `students` a CROSS JOIN
(SELECT @rownum := 0) params
WHERE class = 2
ORDER BY term_1_avg DESC
그러나 쿼리가이
SELECT (@rownum := @rownum + 1) AS rank, student_id,
student_name,term_1_avg
FROM `students` a CROSS JOIN
(SELECT @rownum := 0) params
WHERE class = 2 and student_id=2013494
ORDER BY term_1_avg DESC
같은 경우 그 학생을 배치되지 않은 경우에도이 학생 번호 1 순위 것입니다.
학생에게 질문 할 때 전체 클래스에있는 위치가 표시되도록 쿼리를 어떻게 변경합니까?