爪哇一角

共同探讨STRUTS#HIBERNATE#SPRING#EJB等技术
posts - 3, comments - 6, trackbacks - 0, articles - 99
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Sql server:

//前5行

select top 5 * from table

//查询第m条到第n条记录

Select top (n-(m-1)) * from [tablename] where [parimary key] not in(select top (m-1) [parimary key] from [tablename] 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;

类似可以实现分页功能

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条记录。


只有注册用户登录后才能发表评论。


网站导航: