2016-11-26 2 views
0

У меня есть запрос, который выбирает результаты учащихся и оценивает их с самого высокого уровня до самого низкого, этот запрос mysql работает в первый раз, но когда я запускаю его второй раз на phpmyadmin, он возвращает 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, спасибо! –

Смежные вопросы