I have a table: student_marks
marks
-----
44
55
64
98
76
Expected output:
serial_number|marks
--------------------
1 | 44
2 | 55
3 | 64
4 | 98
5 | 76
Using mysql user defined variables, it could be done using query:
set @a:=0;select @a:=@a+1 serial_number, marks from student_marks;
Is there any way to achieve this in msyql without using user defined variables?
解决方案
Based on your reasons for not wanting to use user defined variables as wanting to avoid having 2 queries, one for inializing and one to use it you could use the following:
SELECT @a:=@a+1 serial_number,
marks
FROM student_marks,
(SELECT @a:= 0) AS a;