当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 几条常见的数据库分页 SQL 语句

MSSQL
sqlserver2005 xml字段的读写操作
SQLServer Job运行成功或失败时发送电子邮件通知的图文教程
一个删除指定表的所有索引和统计的过程
SQLServer2005 的查询独占模拟
SQLServer2005 中的几个统计技巧
SQLServer 数据集合的交、并、差集运算
讲解SQL Server系统数据库的工作原理
Windows Vista系统服务安全强化策略
SQL Server中导入导出数据的三种方式
SQL Server用索引视图查看性能状况
缩小SQL Server数据库的日志文件
在不同版本的SQL Server中存储数据
Windows Server 2008 十大出色功能
SQL Server系统数据库的工作原理
SQL Server中“函数”的两种用法
掌握SQL Server数据库的实用技巧
SQL Server2000数据库分离与附加
SQL Server 2008的一些新特点及独到之处
删除SQL Server 2000所有的危险扩展
SQL 2005身份证函数包含验证和15位转18位

MSSQL 中的 几条常见的数据库分页 SQL 语句


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 71 ::
收藏到网摘: n/a

  作者根据自己使用过的内容,把常见数据库Sql Server,Oracle和MySQL的分页语句做了介绍……

  我们在编写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

  例如从表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