我有一张桌子: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中实现?
基于您不想使用用户定义变量的原因,因为要避免有两个查询,一个用于初始化,一个用于使用它,您可以使用以下方法:
SELECT @a:=@a+1 serial_number, marks FROM student_marks, (SELECT @a:= 0) AS a;