SQL代码
- SELECT * FROM
- (
- SELECT TOP [每页记录] * FROM
- (
- SELECT TOP [每页记录*当前页数] [字段1, 字段2, ...]
- FROM [数据表]
- ORDER BY [排序字段] DESC
- )
- [表别名1]
- ORDER BY [排序字段]
- )
- [表别名2]
- ORDER BY [排序字段] DESC
EX. 从 table 表中获取记录,每页5条记录,结果按照 id 倒序排列。读取到第二页时的sql如下
SQL代码
- SELECT * FROM
- (
- SELECT TOP 5 * FROM
- (
- SELECT TOP 10 *
- FROM table
- ORDER BY id DESC
- ) t1
- ORDER BY id
- ) t2
- ORDER BY id DESC
支持MSSQL,mysql还是用limit,而且mysql不支持top语法。还有这样只是一种偷懒的做法,效率肯定不高。想想看,如果是有几十万条记录,那到最后几页时,那就要先取出几十万的记录再去读取每页的几条,太恐怖了


