zoukankan      html  css  js  c++  java
  • sql单表简单的分页脚本(续)

    上次讲到了简单的分页用到的是not in

    接下来用到 max 或者 min

    还有sql server 2005以上的 row_number()系统函数

    select * from Xk_FriendLink
    --取出前面的最大id
    select max(id) from (select top 2 id from Xk_FriendLink order by id ascas t
    --顺序时从小到大
    select top 2 * from Xk_FriendLink where id>(select max(id) from (select top 2 id from Xk_FriendLink order by id ascas t) order by id asc

    --Row_Number()  自增的,不重复,中间不会有断点的,连续的
    select *,row_number() OVER (order by id descas RowNumber from Xk_FriendLink
    select row_number() OVER (order by id descas RowNumber from Xk_FriendLink

    --每页大小 PageSize=3,页码 PageIndex=2,between PageSize*(PageIndex-1)+1 and PageSize*PageIndex
    declare @PageSize int
    set @PageSize=3
    declare @PageIndex int
    set @PageIndex=2
    declare @startRow int
    set @startRow=@PageSize*(@PageIndex-1)+1
    declare @endRow int
    set @endRow=@PageSize*@PageIndex
    print @startRow
    print @endRow

    select * from (select *,row_number() OVER (order by id descas RowNumber from Xk_FriendLink)
    as tmp where RowNumber between @startRow and @endRow
  • 相关阅读:
    [转载]Oracle Golden Gate
    git操作命令
    logger.error完整打印错误堆栈信息
    短网址算法
    YYYY-mm-dd HH:MM:SS大小写解释
    quarz时间配置
    Freemarket语法
    Java NIO:IO与NIO的区别
    idea常用到的命令
    linux 常用命令
  • 原文地址:https://www.cnblogs.com/Jaylong/p/sql2.html
Copyright © 2011-2022 走看看