我可是森森呢 2022-11-17 05:46 采纳率: 96.3%
浏览 35
已结题

SQLite如何在分页查询的同时返回总数

SQLite3进行分页查询,需要获取到总数
这样我好直接跳转到最后一页之类的,应该怎么写啊
用MySQL的方法好像不行

  • 写回答

1条回答 默认 最新

  • Check_Const 2022-11-22 03:55
    关注
     1. MS SQL Server查询测试
    
     DECLARE @v_rowsPerPage int    --每页行数
     DECLARE @v_TotalPages int     --总页数
     DECLARE @v_rowCurrent bigint  --当前记录行
     --DECLARE @v_PageCurrent int    --当前页号
    
     set @v_rowsPerPage=100        --假设每页100条
     select @v_tCount=sum(1) from CheckTableName --测试查记录数
     select @v_TotalPages=Ceiling(@v_tCount*1.0/@v_rowsPerPage) --测试计算总页数
    
     print '记录数='+cast(@v_tCount as varchar)
     print '总页数='+cast(@v_TotalPages as varchar)
    
    2. 依应用场景,不同数据库可使用不同方式控制对应页行数
    (1)MySQL可用limit2)ORACLE可用隐含的行号RowNum
    (3)MS SQL Server可用top,结合排序条件(order by3.模拟分页查询逻辑(较多人验证过效率还可以)
    (1) MS SQL Server的ROW_NUMBER()
    select top 每页行数 * from
    (
        select top (页码*1每页行数) ROW_NUMBER() OVER (order by id) AS RowNum,
        t.*
        FROM  CheckTableName  t
        -- where 条件
    ) t
    where RowNum between (页码-1)*每页行数+1 AND 页码*每页行数
    order by RowNum
    
    (2)使用主键排序
    --假设主键为ListNo
    select top 每页行数 * FROM CheckTableName
    where --条件1 and
    ListNo >(
        select isnull(Max(ListNo),0)
        FROM
        (
            select top ((页码-1)*每页行数) ListNo
            FROM CheckTableName  --测试表名
            --where 条件1        --与前面条件1相同
            order by ListNo
        ) t
    ) 
    order by ListNo
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月16日
  • 已采纳回答 3月9日
  • 创建了问题 11月17日

悬赏问题

  • ¥15 C#i编程中so-ir-192编码的字符集转码UTF8问题
  • ¥15 51嵌入式入门按键小项目
  • ¥30 海外项目,如何降低Google Map接口费用?
  • ¥15 fluentmeshing
  • ¥15 手机/平板的浏览器里如何实现类似荧光笔的效果
  • ¥15 盘古气象大模型调用(python)
  • ¥15 传人记程序做的plc 485从机程序该如何写
  • ¥15 已知手指抓握过程中掌指关节、手指各关节和指尖每一帧的坐标,用贝塞尔曲线可以拟合手指抓握的运动轨迹吗?
  • ¥50 libwebsockets 如何添加其他socket事件回调
  • ¥50 实现画布拖拽算子排布,通过flink实现算子编排计算,请提供思路
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部