基于您不想使用用户定义变量的原因,因为要避免有两个查询,一个用于初始化,一个用于使用它,您可以使用以下方法:
SELECt @a:=@a+1 serial_number, marks FROM student_marks, (SELECT @a:= 0) AS a;

基于您不想使用用户定义变量的原因,因为要避免有两个查询,一个用于初始化,一个用于使用它,您可以使用以下方法:
SELECt @a:=@a+1 serial_number, marks FROM student_marks, (SELECT @a:= 0) AS a;