2016-11-26 107 views
0

我有选择查询来选择学生成绩,并将它们从最高排名到最低,这个mysql查询首次运行,但是当我第二次运行phpmyadmin时,它返回NULL应该显示学生的排名,下面是mysql查询;为什么在第二次运行select查询时返回NULL

SELECT @rownum := @rownum + 1 AS rank 
    , student_name 
    , avga 
    FROM `averaga` 
WHERE class="Form 1A" 
ORDER 
    BY avga DESC 

这里是查询结果的一部分快照结果 part snapshot of the results from query results

回答

2

需要初始化变量。我通常在查询本身做到这一点:

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; 
+0

它现在的作品@戈登Linoff,谢谢! –

相关问题