您需要将计算结果包装起来,以在子查询中获取行号,并将其限制在外部
SELECt语句中,以便row_number不会中断,例如,
列名和表名可能与上面的示例不同,但查询的思想是相同的。
SELECT RowNumber, Student_ID, Student_NameFROM ( SELECt @rownum := @rownum + 1 RowNumber, t.* FROM student t, (SELECT @rownum := 0) s ORDER BY t.Student_ID ) subQ// LIMIT 0, 3
- SQLFiddle演示( 带有LIMIT,但即使在分页中也可以继续 )



