我有一张 table :student_marks
marks
-----
44
55
64
98
76
预期输出:
serial_number|marks
--------------------
1 | 44
2 | 55
3 | 64
4 | 98
5 | 76
使用mysql用户定义变量,可以使用查询来完成:
set @a:=0;select @a:=@a+1 serial_number, marks from student_marks;
有什么方法可以在不使用用户定义变量的情况下在 msyql 中实现这一点?
最佳答案
根据您不想使用用户定义变量的原因,因为希望避免进行 2 个查询,一个用于初始化,一个用于使用它,您可以使用以下内容:
SELECT @a:=@a+1 serial_number,
marks
FROM student_marks,
(SELECT @a:= 0) AS a;
关于mysql - 在mysql查询中生成序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11094466/