Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2076131
  • 博文数量: 354
  • 博客积分: 4955
  • 博客等级: 上校
  • 技术积分: 4579
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-21 11:46
文章分类

全部博文(354)

文章存档

2015年(1)

2013年(4)

2012年(86)

2011年(115)

2010年(67)

2009年(81)

我的朋友

分类:

2010-05-14 14:17:29

 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
阅读(1020) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~