在实际项目中分页是常见的不能再说了,这里我总结了mysql,sqlserver,oracle这三个数据库的sql分页语句 在这三个数据库中,个人觉得MySql的分页语句是最简单的,只用一个limit关键字就能完成 MySql数据库: select * from test limit 5,5; test:表名 第一个
在实际项目中分页是常见的不能再说了,这里我总结了mysql,sqlserver,oracle这三个数据库的sql分页语句
在这三个数据库中,个人觉得MySql的分页语句是最简单的,只用一个limit关键字就能完成
MySql数据库:
select * from test limit 5,5;
test:表名
第一个参数5:从表中的第几行开始查,从0开始数
第二个参数5:查询出多少条记录
在项目中运用时,如果一个页面指定了显示多少条记录,通常第二个参数不会改变,都是该变的第一个参数
计算每页的公式:这里都是每页显示5条记录
第一页:(1-1)*5
第二页:(2-1)*5
第三页:(3-1)*5
第N页:(n-1)*5
公式:
开始的行数=(当前页-1)*每页显示的行数
所以最后在代码中的sql语句可以写为:
int pageSize=5;//每页显示行数
int pageNo=4;//当前页
int num=(pageNo-1)*pageSize;//开始查找的行
采用 php+mysql 数据库方式运行的强大网上商店系统,执行效率高速度快,支持多语言,模板和代码分离,轻松创建属于自己的个性化用户界面 v3.5更新: 1).进一步静态化了活动商品. 2).提供了一些重要UFT-8转换文件 3).修复了除了网银在线支付其它支付显示错误的问题. 4).修改了LOGO广告管理,增加LOGO链接后主页LOGO路径错误的问题 5).修改了公告无法发布的问题,可能是打压
0
select * from test limit num,pageSize;
我了解的MySql数据的分页语句就只有这一种了
在SqlServer数据库中目前我了解的sql分页语句有两种
第一种:
select top(5) * from test where id not in( select top((2-1)*5) id from test )
第二种:
select * from( select ROW_NUMBER() Over(order by id) as rownum,* from test ) t where rownum between (2-1)*5+1 and 2*5
在Oracle数据库中我了解的一只有两种:
第一种:
select * from (
select t.*,rownum rn from emp t
) t1
where rn>(2-1)*3 and rn<=2*3也可以使用between
select * from (
select t.*,rownum rn from emp t
)
where rn between (2-1)*3+1 and 2*3第二种:
select * from (
select t.*,rownum rn from (
select * from emp
)t where rownum<=2*3
) where rn>(2-1)*3这两种比较起来,个人认为第一种查询相对比较快,因为第一种只查询了两次,而第二种查询的三次
至于怎样使用,看个人比较适合哪一种了
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号