MSSQL 如何实现 MySQL 的 limit 查询方式

作者: Codebit     来源: Codebit.cn     时间: 2007-03-19 09:22:07
摘要: 不知为何,MSSQL 中没有 limit 这个极为重要的查询方式,熟悉 MySQL 的朋友都知道,MySQL 的 limit 对于实现分页和一些限制结果集的应用中非常方便。没有不要紧,我们可以用其他方法达到同样的目的,自己动手,丰衣足食!
归类: PHP/MySQL,

关键词: 分页, 数据库, MySQL, limit, MSSQL,


不知为何,MSSQL 中没有 limit 这个极为重要的查询方式,熟悉 MySQL 的朋友都知道,MySQL 的 limit 对于实现分页和一些限制结果集的应用中非常方便。没有不要紧,我们可以用其他方法达到同样的目的,自己动手,丰衣足食!


语法:
Code:

SELECT * FROM 
(
    SELECT TOP [每页记录] * FROM 
    (
        SELECT TOP [每页记录*当前页数] [字段1, 字段2, ...] 
        FROM [数据表]    
        ORDER BY [排序字段] DESC
    )
    [表别名1]
    ORDER BY [排序字段]
)
[表别名2] 
ORDER BY [排序字段] DESC


示例:
Code:

SELECT * FROM 
(
    SELECT TOP 5 * FROM 
    (
        SELECT TOP 10 * 
        FROM table 
        ORDER BY id DESC
    ) t1 
    ORDER BY id
) t2 
ORDER BY id DESC



上面的代码表示从 table 表中获取记录,每页5条记录,当前是第二页5*2=10,结果按照 id 倒序排列。


推荐链接:(联系 QQ :326801485)