三种数据库利用SQL语句进行高效果分页
在程序的开发过程中,处理分页是大家接触比较频繁的事件,因为现在软件基本上都是与数据库进行挂钓的。但效率又是我们所追求的,如果是像原来那样把所有满足条件的记录全部都选择出来,再去进行分页处理,那么就会多多的浪费掉许多的系统处理时间。为了能够把效率提高,所以现在我们就只选择我们需要的数据,减少数据库的处理时间,推火网以下就是常用SQL分页处理
1、SQL Server、Aess数据库
这都微软的数据库,都是一家人,基本的操作都是差不多,常采用如下分页语句
PAGESIZE每页显示的记录数
CURRENTPAGE当前页号
数据表的名字是ponents
索引主键字是id
select PAGESIZE from ponents where id not
(select (PAGESIZE(CURRENTPAGE-1))
id from ponents order by id)order by id
如下列
select 10 from ponents where id not
(select 1010 id from ponents order by id)
order by id
从101条记录开始选择,只选择前面的10条记录
2、Oracle数据库
因为Oracle数据库没有Top关键字,所以这里就不能够像微软的数据据那样操作,这里有两种方法
(1)、一种是利用相反的。
PAGESIZE每页显示的记录数
CURRENTPAGE当前页号
数据表的名字是ponents
索引主键字是id
select from ponents where id not
(select id from ponents where
rownum<=(PAGESIZE(CURRENTPAGE-1)))
and rownum<=PAGESIZE order by id;
如下例
select from ponents where id not
(select id from ponents where rownum<=100)
and rownum<=10 order by id;
从101到记录开始选择,选择前面10条。
(2)、使用mus,即中文的意思就是减去。
select from ponents where rownum
<=(PAGESIZE(CURRENTPAGE-1)) mus
select from ponents where rownum
<=(PAGESIZE(CURRENTPAGE-2));
如例select from ponents where
rownum<=10 mus select from ponents
where rownum<=5;.
(3)、一种是利用Oracle的rownum,这个是Oracle查询自动返回的序号,一般不显示,可以通过select rownum from [表名]看到,注意,它是从1到当前的记录总数。
select from (select rownum tid,ponents.
from ponents where rownum<=100) where tid<=10;
3、MySQL数据库
Mysql可以使用 limit子句实现
select from tablename limit start,number
返回从第 start+l条记录开始的number条记录。
推火专家赛迪网
推火专家月光博客
网站设计
- 静宁会SEO的网站建设公司:全面提升您的网络影
- 提升在线业务的关键:选择最佳的丽水网站建设
- 浙江网站优化发展潜力如何
- 井研专业的网站建设公司:打造您的在线品牌
- 灵山SEO网站建设公司:提升您的在线业务表现
- 蒙城网站建设优化公司:提升您网站表现的理想
- 阳谷企业网站优化:提升线上业务力的关键
- 樟树专业的网站建设公司:打造您在线业务的坚
- 通河百度SEO排名的策略与技巧
- 重庆百度快照排名如何进行精准的客户引流
- 重庆百度快照排名
- 常宁便宜的建站公司:助您轻松打造在线业务
- 巫溪百度网站优化:提升网站曝光率与流量的关
- 湖北整站优化怎么做才能放大客户需求
- 闸北网站建设多少钱?全面解析与预算规划
- 辽宁企业网站优化怎么做电话营销