分页技术
--------------------Oracle分页技术------------------------------ select * from thetable select * from thetable limit (页码-1)*页容量,页码*页容量 例如如果10条一页,取第二页的内容,那么就是:select * from thetable where rownumber between (2-1)*10+1 and 2*10。但这是错误的,返回结果会是一个空集合。对rownumber实施where条件查询是有限制的,只能求前多少多少行,即where rownumber<somevalue。 所以只能让rownumber小于某一值,不能求中间的某一个值域。 如果我们求100-200行的记录,需要使用两层select语句。 内层只需要先select出前100行的rowid,以便于从前200行中排除;外层select要做两件事情,一是求出前200行数据,二是排除前100行数据。 在Oracle下分页的sql语句如下:
select?*?from?thetable -------------------------SqlServer分页技术-------------------------------
select top 10 * from thetable或是select top (10) * from thetable。 SQLServer2000使用前者不加括号的书写方法,SQLServer2005开始支持括号,增加可读性。通过top关键字,可以限制查询只取得结果集的前多少行。
MySql数据库的分页技术实现起来要比前两种数据库简单一些。由于加入了关键字limit,分页在MySql下面显得非常简单。语句如下: limit关键字是个index,即起始值从0开始。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |