• 数据库分页代码


    mysql:

    select * from table limit 0,10;
    -- 查询10条记录,0-开始位置,1-结束位置,注:从0开始
    View Code

    oracle:

    第一种(利用rownum伪列进行查询):
    SELECT * FROM 
    (
                       SELECT A.*, ROWNUM RN 
                       FROM (SELECT * FROM TABLE_NAME) A 
                       WHERE ROWNUM <= 20
    )
    WHERE RN >= 10;
    
    第二种:
    select * from (select e.*,rownum  r from  (select * from emp order by sal desc) e ) e1 where e1.r>10 and e1.r<=20;
    View Code

    Sql Server:

    第一种(利用Not In和SELECT TOP分页):
    SELECT TOP 10 *
    FROM TestTable
    WHERE (ID NOT IN
    (SELECT TOP 20 id
    FROM TestTable
    ORDER BY id))
    ORDER BY ID
     
    SELECT TOP 页大小 *
    FROM TestTable
    WHERE (ID NOT IN
    (SELECT TOP 页大小*页数 id
    FROM 表
    ORDER BY id))
    ORDER BY ID
    
    第二种(利用ID大于多少和SELECT TOP分页):
    SELECT TOP 10 *
    FROM TestTable
    WHERE (ID >
    (SELECT MAX(id)
    FROM (SELECT TOP 20 id
    FROM TestTable
    ORDER BY id) AS T))
    ORDER BY ID
     
    SELECT TOP 页大小 *
    FROM TestTable
    WHERE (ID >
    (SELECT MAX(id)
    FROM (SELECT TOP 页大小*页数 id
    FROM 表
    ORDER BY id) AS T))
    ORDER BY ID
    
    第三种(利用SQL的游标存储过程分页):
    create procedure XiaoZhengGe
    @sqlstr nvarchar(4000), --查询字符串
    @currentpage int, --第N页
    @pagesize int --每页行数
    as
    set nocount on
    declare @P1 int, --P1是游标的id
    @rowcount int
    exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
    select ceiling(1.0*@rowcount/@pagesize) as 总页数--,@rowcount as 总行数,@currentpage as 当前页
    set @currentpage=(@currentpage-1)*@pagesize+1
    exec sp_cursorfetch @P1,16,@currentpage,@pagesize
    exec sp_cursorclose @P1
    set nocount off
    View Code
  • 相关阅读:
    基于XMPP的即时通信系统的建立 — XMPP IQ详解
    XMPPManager 解析
    Xcode 工程文件“.xcodeproj”文件夹解析
    Description &&debugDescription && runtime(debug模式下调试model)
    day04作业
    数字、字符串、列表、字典,jieba库,wordcloud词云
    if,for,异常,random模块,计算圆周率
    day03
    day02
    计算机基础
  • 原文地址:https://www.cnblogs.com/ice-line/p/5646304.html
Copyright © 2020-2023  润新知