mysql - 为什么第二次运行 select 查询后返回 NULL

标签 mysql sql phpmyadmin

我有一个选择查询,用于选择学生分数并将其从最高到最低排名,这个 mysql 查询第一次工作,但是当我在 phpmyadmin 上第二次运行它时,它返回 NULL,它应该显示学生的排名,下面是mysql查询;

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

最佳答案

您需要初始化该变量。我通常在查询本身中执行此操作:

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/

相关文章:

mysql - 加载文件 infile 期间生成随机字段

php - PayPal折扣优惠券集成

sql - 确定每个用户当天的第一个事件

php - 如何从数据库中获取所有序列号并通过 JSON 发回

Mysql 在查询tinyint bool 字段时的奇怪行为

mysql - JOOQ MySQL TEXT 数据类型

php - SQL 计数不工作

sql - 使用 VBA 在 Excel 中查询 SQL Server 表

python - 无法通过我的 django 项目连接到 localhost/phpmyadmin 数据库

mysql - 在 MySQL 中插入 & 符号