三大主流数据库sql server、mysql、oracle的分页操作
来源:互联网 发布:纳什均衡和福利最优化 编辑:程序博客网 时间:2024/05/01 08:25
在分页中,我们需要设置几个分页所需要的变量
pageSize //每页的记录数
pageNow //当前所在页
Sql server2000的分页:
建表的SQL语句:
–创建学生表
create table student(
sid int primary key, –编号
sname varchar(20) not null, –姓名
sage int not null –年龄
)
问题:按sid由小到大排序,找出第3条到第8条记录。
方案一:
–根据sid排序,取出前两条记录的sid
select top 2 sid from student order by sid
–根据sid排序除掉前两条记录后的前面6条记录(也就是选出第3条到第8条记录)
select top 6 * from student where sid not in (select top 2 sid from student order by sid) order by sid;
分页:select top pageSize * from student where sid not in (select top pageSize*(pageNow-1) sid from student order by sid) order by sid;
方案二:
—-根据sid排序,取出前两条记录的sid
select top 2 sid from student order by sid
–在前两条记录的基础上求得最大的sid
select isnull(max(sid),0) from (select top 2 sid from student order by sid
–获得第3条到第8条记录
select top 6 * from student where sid>(select isnull(max(sid),0) from (select top 2 sid from student order by sid) A) order by sid
分页:select top pageSize * from student where sid>(select isnull(max(sid),0) from (select top pageSize*(pageNow-1) sid from student order by sid) A) order by sid
MySQL的分页:
建表的SQL语句:
–创建学生表
create table student(
sid int primary key, –编号
sname varchar(20) not null, –姓名
sage int not null –年龄
)
问题:按sid由小到大排序,找出第3条到第8条记录。
方案:
select * from student order by sid limit 2,3
注意:limit后面的两个数分别表示从哪条记录算起,查找几条记录,MySQL中记录是从第0条开始算起
分页:Select * from student order by sid limit pageSize*(pageNow-1),pageSize
Oracle的分页:
创建SQL语句:
create table student(
sid number primary key,
sname varchar2(20) not null,
sage number not null
)
问题:按sid由小到大排序,找出第3条到第8条记录。
方案:
–按sid由小到大排序
select * from student order by sid
–在排好序的表中,选出前8条记录
select t.,rownum rn from(select from student order by sid) t where rownum<=8
–然后再在上面的基础上选出第3条到第8条记录
select * from (select t.,rownum rn from(select from student order by sid) t where rownum<=8) where rn>=3
分页:
select * from (select t.,rownum rn from(select from users order by id) t where rownum<=pageSize*pageNow) where rn>=(pageSize*(pageNow-1)+1);
- 三大主流数据库sql server、mysql、oracle的分页操作
- java对三大主流数据库sql server、mysql、oracle的连接和操作
- MySQL、SqlServer、Oracle三大主流数据库分页查询
- MySQL、SqlServer、Oracle三大主流数据库分页查询
- MySQL、SqlServer、Oracle三大主流数据库分页查询
- MySQL、SqlServer、Oracle三大主流数据库分页查询
- MySQL、SqlServer、Oracle三大主流数据库分页查询
- MySQL、SqlServer、Oracle三大主流数据库分页查询
- MySQL、SqlServer、Oracle三大主流数据库分页查询
- MySQL、SqlServer、Oracle三大主流数据库分页查询
- MySQL、SqlServer、Oracle三大主流数据库实现分页查询的方法
- 三大主流关系数据库Oracle、DB2和SQL Server之间的比较
- 三大主流数据库的分页原理
- 3大数据库(Sql-Server,MySql和Oracle)的分页SQL语句实现
- 3大数据库(Sql-Server,MySql和Oracle)的分页SQL语句实现
- 3大数据库(Sql-Server,MySql和Oracle)的分页SQL语句实现
- HBase vs. MongoDB vs. MySQL vs. Oracle vs. Redis,三大主流开源 NoSQL 数据库的 PK 两大主流传统 SQL 数据库
- HBase vs. MongoDB vs. MySQL vs. Oracle vs. Redis,三大主流开源 NoSQL 数据库的 PK 两大主流传统 SQL 数据库
- React初学手记
- Android仿微信语音聊天界面
- Python学习笔记(3)——逻辑关系
- EMP界面开发规范-界面标签
- Android之第三方框架使用汇总
- 三大主流数据库sql server、mysql、oracle的分页操作
- MongoDB的安装与配置(windows&Linux)
- Spring @Value 用法小结,#与$的区别
- 在Launcher3添加新的ListView,把应用添加到list中
- linux 环境下的mysql操作
- C++中堆和栈的完全解析
- window下pip 用不了的一种解决办法
- 设计模式-10 状态模式
- PHP 相关配置文件