ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle中rownum,sql server中top函数,mysql中limit[转载]

oracle中rownum,sql server中top函数,mysql中limit[转载]

原创 Linux操作系统 作者:Linda1980 时间:2011-04-07 11:38:46 0 删除 编辑
Sql server:

//前5行

select top 5 * from table

//查询第11行到第20行记录
select top 10 * from [表名] where [主键] not in (select top 10 [主键] from [表名] order by

[排序字段及排序方法]) order by [排序字段及排序方法]

oracle:

//前5行

select * from table where rownum <= 5;

//第5到10行

select * from table where rownum<10

minus

select * from table where rownum<4;

类似可以实现分页功能

以前经常用这种方法:

select * from (select rownum rn,title,id from CMS_ARTICLE where DISPLAY_PLACE in(0,2) and STATE=1 and CATEGORY_ID = 169) t
where t.rn>16 and t.rn<20

MySQL

实现Top N及M至N段的记录查询


我们可以利用MySQL中Select支持的一个子句——LIMIT——来完成这项功能。

LIMIT可以实现top N查询,也可以实现M至N(某一段)的记录查询,具体语法如下:

Select * FROM MYTABLE
orDER BY AFIELD

LIMIT offset, recnum
其中offset为从第几条(M+1)记录开始,recnum为返回的记录条数。例:

select * from mytable
order by afield

limit 2, 5

即意为从第3条记录开始的5条记录。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7718881/viewspace-691860/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-04-07

  • 博文量
    29
  • 访问量
    249129