首页 > 数据库

Oracle分页和排序常用的4条查询语句

时间:2009-06-10 10:47:13  作者:杨桂林  我要投稿
Linux初探欢迎您的投稿,投放方法请点击这里查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
在oracle中如何实现分页和排序功能的查询语句?在实现的手法上可能与MS SQL Server有所差异,这主要都是由于两种数据库中对于结果行号的处理异同造成的,在MS SQL S......

在oracle中如何实现分页和排序功能的查询语句?在实现的手法上可能与MS SQL Server有所差异,这主要都是由于两种数据库中对于结果行号的处理异同造成的,在MS SQL Server中,可以使用top和ROW_NUMBER()方法的结合来实现,一般写法比较简单,而oracle则有很大的不同,只能通过ROWNUM来实现,我们这里主要说明一下,如何使用ROWNUM来实现一些常用的分页和排序查询,有关ROWNUM的概念,随便搜一下,有很多详细的解释都很清晰,就不赘述了。


1. 查询前10条记录

SELECT * FROM TestTable WHERE ROWNUM <= 10


2. 查询第11到第20条记录

SELECT * FROM (SELECT TestTable.*, ROWNUM ro FROM TestTable WHERE ROWNUM <=20) WHERE ro > 10


3. 按照name字段升序排列后的前10条记录

SELECT * FROM (SELECT * FROM TestTable ORDERY BY name ASC) WHERE ROWNUM <= 10


4. 按照name字段升序排列后的第11到第20条记录

SELECT * FROM (SELECT tt.*, ROWNUM ro FROM (SELECT * FROM TestTable ORDER BY name ASC) tt WHERE ROWNUM <=20) WHERE ro > 10


以上此条语句可能是在查询排序和分页的时候最常用到的语句,其中没有添加条件,因为不影响语句的结构。虽然性能有所影响,但可能只是最内层的查询可能会有多查数据的可能,但对于外层的再排序再选择来说,应该影响很小。

如果您需转载 Oracle分页和排序常用的4条查询语句,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
栏目热门