2016-11-26 4 views
0

学生スコアを選択して上位から下位にランク付けする選択クエリがありますが、このmysqlクエリは初めて動作しますが、phpmyadminで2回実行すると、それは学生のランクを示すはずのところにNULLを返します。以下はmysqlクエリです。ここ 選択クエリを実行した後に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

これは@Gordon Linoff、ありがとう! –

関連する問題