Según sus razones para no querer usar variables definidas por el usuario como para evitar tener 2 consultas, una para inicializar y otra para usarla, podría usar lo siguiente:
SELECT @a:[email protected]+1 serial_number,
marks
FROM student_marks,
(SELECT @a:= 0) AS a;