2016-11-26 106 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,謝謝! –

相關問題