php mssql几条常见的数据库分页 SQL 语句

摘要:
当我们编写MIS系统、Web应用程序和其他系统时,我们都参与了与数据库的交互。如果数据库有大量数据,那么一次检索所有记录将占用系统的大量资源。因此,我们经常使用分页语句从数据库中检索所需的记录。
我们在编写MIS系统和Web应用程序等系统时,都涉及到与数据库的交互,如果数据库中数据量很大的话,一次检索所有的记录,会占用系统很大的资源,因此 我们常常采用,需要多少数据就只从数据库中取多少条记录,即采用分页语句。根据自己使用过的内容,把常见数据库Sql Server,Oracle和MySQL的分页语句,从数据库表中的第M条数据开始取N条记录的语句总结如下:

  SQL Server

  从数据库表中的第M条记录开始取N条记录,利用Top关键字:注意如果Select语句中既有top,又有order by,则是从排序好的结果集中选择:

  SELECT *

  FROM ( SELECT Top N *

  FROM (SELECT Top (M + N - 1) * FROM 表名称 Order by 主键 desc) t1 ) t2

  Order by 主键 asc




实例:

select * from (   select TOP pagesize * FROM ( SELECT TOP pagesize*cureentpage   * from user_table   ORDER BY id ASC ) as aSysTable   ORDER BY id DESC ) as bSysTable   ORDER BY id ASC



  例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:

  SELECT *

  FROM ( SELECT TOP 20 *

  FROM (SELECT TOP 29 * FROM Sys_option order by sys_id desc) t1) t2

  Order by sys_id asc

  Oralce数据库

  从数据库表中第M条记录开始检索N条记录

  SELECT *

  FROM (SELECT ROWNUM r,t1.* From 表名称 t1 where rownum < M + N) t2

  where t2.r >= M

  例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:

  SELECT *

  FROM (SELECT ROWNUM R,t1.* From Sys_option where rownum < 30 ) t2

  Where t2.R >= 10

  MySQL数据库

  My sql数据库最简单,是利用mysql的LIMIT函数,LIMIT [offset,] rows从数据库表中M条记录开始检索N条记录的语句为:

  SELECT * FROM 表名称 LIMIT M,N

  例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:

  select * from sys_option limit 10,20


转自:

http://soft.zdnet.com.cn/software_zone/2007/1119/642543.shtml

免责声明:文章转载自《php mssql几条常见的数据库分页 SQL 语句》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【Qt学习笔记】11_MainWindow2Spark(十六)DataSet下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

navicat for mysql 进行数据传输

完成不同数据库之间的数据库表传输 把一个数据库表由一个数据库中复制到另一个数据库表中,可以使用heidisql 或 navicat for mysql,先将数据库表从一个数据库会话导出,然后会话连接相应库进行导入,类似一个备份的操作,但这样操作繁琐。navicat for mysql具备数据传输功能,直接将一个数据库的数据库表,复制到另一个数据库中。 1....

orcl 如何快速删除表中百万或千万数据

orcl 数据库表中数据达到上千万时,已经变的特别慢了,所以时不时需要清掉一部分数据。 bqh8表中目前有10000000条数据,需要保留19条数据,其余全部清除掉。 以下为个人方法: 1、首先把需要保留的数据备份到temp1临时表中。 create table temp1 as select * from bqh8 where id<20;sele...

Oracle数据库失效对象处理

近期对数据库进行巡检,发现数据库业务用户(非 SYS/Public)下存在失效对象。对失效对象进行分析,主要包括失效的视图、物化视图、函数、包、触发器等。 思考: 基于以下原因,建议对失效对象进行处理: 1、通过失效的对象,可能能够反推发现业务软件问题(业务系统功能太多,可能存在测试不充分的问题); 2、如果失效对象太多,业务又频繁调用的话,担心影响数据库...

c# 构造tree下拉框,空格转化

c#代码写的空格如何在html中的select中展示出来呢? var str = ""; //父级菜单不缩进 for (var j = 1; j < i; j++) { s...

Visual SourceSafe(VSS)使用手册(转载)

VSS是Visual SourceSafe英文缩写,是软件测试的相关文档,测试代码、自动化测试程序代码均需要作为配置项,纳入到配置管理库中。VSS可以同 Visual Basic、Visual C++、Visual J++、Visual InterDev、Visual FoxPro 开发环境以及 Microsoft Office 应用程序集成在一起,提供了...

[转]MS Sql 7105错误

转自:http://hi.baidu.com/ylj798/blog/item/4878077ab64fe7ea2f73b300.html 有的时候发现查询数据库会出现以下类似的提示: [Microsoft][ODBC SQL Server Driver][SQL Server]text、ntext 或 image 节点的页 (1:220),槽 14 不...