我有一个包含以下字段的学生表:
student(student_id, student_name, student_avg)
我需要在 MySQL 中编写一个查询,它将结果显示为:
序列号=> 结果还应该有一个序列号为 1,2,3,...,n
的新列,就像结果中每一行的自动增量一样。
student_id
student_name
student_avg > 4
我不想以任何方式改变我的 table 。我所要做的就是编写一个查询,它会给我上述结果。我希望我很清楚。
示例数据:
student_id student_name student_avg
1 abc 2.5
2 xyz 4.1
3 def 4.2
查询后的示例输出:
serial_no student_id student_name student_avg
1 2 xyz 4.1
2 3 def 4.2
最佳答案
试试这个
SELECT @s:=@s+1 serial_number,student_id,student_name,student_avg
FROM students,
(SELECT @s:= 0) AS s
WHERE
student_avg > 4;
关于MySQL 查询选择自动递增的结果作为结果中添加的新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11861799/