SQLite3进行分页查询,需要获取到总数
这样我好直接跳转到最后一页之类的,应该怎么写啊
用MySQL的方法好像不行
SQLite如何在分页查询的同时返回总数
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- Check_Const 2022-11-22 11: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可用limit (2)ORACLE可用隐含的行号RowNum (3)MS SQL Server可用top,结合排序条件(order by) 3.模拟分页查询逻辑(较多人验证过效率还可以) (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
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 IAR程序莫名变量多重定义
- ¥15 (标签-UDP|关键词-client)
- ¥15 关于库卡officelite无法与虚拟机通讯的问题
- ¥15 qgcomp混合物线性模型分析的代码出现错误:Model aliasing occurred
- ¥100 已有python代码,要求做成可执行程序,程序设计内容不多
- ¥15 目标检测项目无法读取视频
- ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
- ¥100 求采集电商背景音乐的方法
- ¥15 数学建模竞赛求指导帮助
- ¥15 STM32控制MAX7219问题求解答