SQL系列学习(一) 分页

SQL分页有三种常用方法,按效率从高到低:

1.效率最高

SELECT TOP(分页记录数) *
FROM 表名
WHERE  ID>
          (
          SELECT ISNULL(MAX(ID),0) 
          FROM 
                (
                SELECT TOP(分页记录数*(页码-1)) ID FROM 表名 ORDER BY ID
                ) A
          )
ORDER BY ID

2.效率次之

SELECT top(分页数) *  
  FROM 表名
  where ID not in 
  (
  SELECT Top(分页记录数*(页码-1)) ID 
  from 表名 order by ID
  )  
  order by ID

3.效率最差却最通用,采用游标卡尺

SELECT TOP 分页记录数 * 
FROM 
        (
        SELECT ROW_NUMBER() OVER (ORDER BY ID) AS RowNumber,* FROM 表名
        ) A
WHERE RowNumber > 分页记录数*(页码-1)
原文地址:https://www.cnblogs.com/FirstCode/p/2946771.html