MS sqlserver的分页技术怎么实现

解决方案 »

  1.   

    从数据库表中的第M条记录开始取N条记录,利用Top关键字:注意如果Select语句中既有top,又有order by,则是从排序好的结果集中选择,(不过好像在2000下子查询不支持ORDER BY):
    SELECT *
    FROM(
        SELECT Top N *
        FROM (SELECT Top (M + N - 1) * FROM 表名称 ORDER BY 主键 DESC)  t1 ) t2
    ORDER BY 主键 ASC例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
    SELECT *
    FROM ( SELECT TOP 20 *
           FROM (SELECT TOP 29 * FROM Sys_option ORDER BY sys_id DESC) t1) t2
    ORDER BY sys_id ASC原地址 http://yutuo.net/?p=153