Categories


Tags


三种数据库利用SQL语句进行高效果分页

在程序的开发过程中,处理分页是大家接触比较频繁的事件,因为现在软件基本上都是与数据库进行挂钓的。但效率又是我们所追求的,如果是像原来那样把所有满足条件的记录全部都选择出来,再去进行分页处理,那么就会多多的浪费掉许多的系统处理时间。为了能够把效率提高,所以现在我们就只选择我们需要的数据,减少数据库的处理时间,以下就是常用SQL分页处理:

1、SQL Server、Access数据库

这都微软的数据库,都是一家人,基本的操作都是差不多,常采用如下分页语句:

PAGESIZE:每页显示的记录数

CURRENTPAGE:当前页号

数据表的名字是:components

索引主键字是:id

select top PAGESIZE * from components where id not in

(select top (PAGESIZE*(CURRENTPAGE-1))

id from components order by id)order by id

如下列:

select top 10 * from components where id not in

(select top 10*10 id from components order by id)

order by id

从101条记录开始选择,只选择前面的10条记录

2、Oracle数据库

因为Oracle数据库没有Top关键字,所以这里就不能够像微软的数据据那样操作,这里有两种方法:

(1)、一种是利用相反的。

PAGESIZE:每页显示的记录数

CURRENTPAGE:当前页号

数据表的名字是:components

索引主键字是:id

select * from components where id not

in(select id from components where

rownum<=(PAGESIZE*(CURRENTPAGE-1)))

and rownum<=PAGESIZE order by id;

如下例:

select * from components where id not in

(select id from components where rownum<=100)

and rownum<=10 order by id;

从101到记录开始选择,选择前面10条。

(2)、使用minus,即中文的意思就是减去。

select * from components where rownum

<=(PAGESIZE*(CURRENTPAGE-1)) minus

select * from components where rownum

<=(PAGESIZE*(CURRENTPAGE-2));

如例:select * from components where

rownum<=10 minus select * from components

where rownum<=5;.

(3)、一种是利用Oracle的rownum,这个是Oracle查询自动返回的序号,一般不显示,但是可以通过select rownum from [表名]看到,注意,它是从1到当前的记录总数。

select * from (select rownum tid,components.

* from components where rownum<=100) where tid<=10;

3、MySQL数据库

Mysql可以使用 limit子句实现

select * from tablename limit start,number

返回从第 start+l条记录开始的number条记录。

来源:赛迪网

来源:月光博客


Public @ 2010-02-01 15:47:53

[原创]我司windows系统VPS、云主机、独立服务器添加UDP端口

第一步:首先远程登录到服务器,远程登录请参考:http://www.west.cn/faq/list.asp?unid=417 登录以后在运行里面输入gpedit.msc回车,依次展开 计算机配置--windows设置--安全设置 打开IP安全策略,然后找到allow udp,如下图所示:第二步:依次双击allow udp 选择许可的allow udp再进行双线,然后选择默认第一描述为allow

Public @ 2017-05-30 15:47:16

Windows Server 2008网站服务器迁移流程

迁移Windows Server 2008网站服务器的流程如下: 1. 准备目标服务器:在目标服务器上安装Windows Server 2008操作系统,并确保服务器硬件和软件要求满足网站的需求。 2. 备份源服务器:在源服务器上备份网站的所有文件、数据库和配置信息。可以使用Windows Server Backup工具或第三方备份软件来完成备份。 3. 迁移网站文件:将源服务器上的网站文件

Public @ 2023-07-23 18:50:33

SQL Server 2008数据库连接报错:值不能为null

这个错误通常意味着您的SQL Server 2008数据库的某个列已经定义为不允许空值,但是您正在尝试将一个null值插入该列中。 解决此问题的方法有以下几种: 1. 在插入数据之前,检查您要插入的列是否允许为空值,并确保不插入空值。 2. 如果该列允许为空值,但是仍然收到“值不能为null”的错误,请使用默认值或空字符串作为该列的值。 3. 检查您的数据库表定义,确保所有必需的列

Public @ 2023-04-15 03:50:19

SQL Server 2005数据库修改sa密码的方法

在 SQL Server 2005 中修改 sa 账户的密码,可以通过以下步骤完成: 1. 以系统管理员身份登录 SQL Server 2005 数据库。 2. 在“对象资源管理器”中展开“安全性”节点,找到“登录名”节点。 3. 右键单击“sa”账户,选择“属性”。 4. 在“一般”标签页中,修改“密码”字段,输入新密码。 5. 点击“确定”按钮保存修改。 以上就是在 SQL Se

Public @ 2023-06-22 09:00:11

更多您感兴趣的搜索

0.492159s