Você precisa envolver o cálculo para obter o número da linha dentro de uma subconsulta e limitá-lo no
SELECT
externo declaração para que o número_linha não seja quebrado, ex, o nome da coluna e o nome da tabela podem ser diferentes do seu exemplo acima, mas o pensamento da consulta é o mesmo.
SELECT RowNumber, Student_ID, Student_Name
FROM
(
SELECT @rownum := @rownum + 1 RowNumber,
t.*
FROM student t, (SELECT @rownum := 0) s
ORDER BY t.Student_ID
) subQ
// LIMIT 0, 3