我有一个选择查询,用于选择学生分数并将其从最高到最低排名,这个 mysql 查询第一次工作,但是当我在 phpmyadmin 上第二次运行它时,它返回 NULL,它应该显示学生的排名,下面是mysql查询;
SELECT @rownum := @rownum + 1 AS rank
, student_name
, avga
FROM `averaga`
WHERE class="Form 1A"
ORDER
BY avga DESC
最佳答案
您需要初始化该变量。我通常在查询本身中执行此操作:
SELECT (@rownum := @rownum + 1) AS rank, student_name, avga
FROM `averaga` a CROSS JOIN
(SELECT @rownum := 0) params
WHERE class = 'Form 1A'
ORDER BY avga DESC;
关于mysql - 为什么第二次运行 select 查询后返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40819172/