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
  • 相关阅读:
    游标、锁
    树形背包浅谈
    金字塔
    Codeforces Round #652 (Div. 2) 题解
    NOI1999 棋盘分割
    NEERC2002 Folding
    HDU4283 You Are the One
    Codeforces Round #646 (Div. 2) 题解
    洛谷 P1679 神奇的四次方数
    UVA12563 劲歌金曲
  • 原文地址:https://www.cnblogs.com/Jaylong/p/sql2.html
Copyright © 2011-2022 走看看