Sie müssen die Berechnung umbrechen, um die Zeilennummer innerhalb einer Unterabfrage zu erhalten, und sie auf das äußere SELECT
beschränken -Anweisung, damit row_number nicht beschädigt wird, z. B.
Der Spaltenname und der Tabellenname können sich von Ihrem obigen Beispiel unterscheiden, aber der Gedanke der Abfrage ist derselbe.
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