zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    CodeForces
    网络流
    poj 2185
    树的分治学习
    数位DP
    URAL 1969. Hong Kong Tram
    hdu 4759 Poker Shuffle
    hdu3712 Detector Placement
    分块思想
    莫比乌斯反演
  • 原文地址:https://www.cnblogs.com/FirstCode/p/2946771.html
Copyright © 2011-2022 走看看