惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
Martin Fowler
Martin Fowler
罗磊的独立博客
The GitHub Blog
The GitHub Blog
L
LangChain Blog
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
DataBreaches.Net
宝玉的分享
宝玉的分享
U
Unit 42
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
N
Netflix TechBlog - Medium
The Cloudflare Blog
Microsoft Azure Blog
Microsoft Azure Blog
H
Help Net Security
美团技术团队
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog

博客园 - MyFavorite

成长、改变、突破 软件工程相关整理 INCLUDE COMMON FILES IN HTML USING JQUERY Oracle:分割字符串 use CheckBoxMultipleChoice in wicket 5个必须掌握的maven命令 根据对象名获取对象 外网SQL服务器设置 VB6.0调用SetTimer实现定时器 cmd命令控制台窗口一闪就消失解决办法 jdbc访问数据库 - MyFavorite - 博客园 java与MSSQL2000连接 - MyFavorite - 博客园 关于java CountDownLatch java InputStream读取数据问题 MyEclipse中防止代码格式化时出现换行的情况的设置 java监控多个线程的实现 TCP连接状态 Java定时器代码 java下的日期函数实现
Oracle取TOP N条记录
MyFavorite · 2012-10-31 · via 博客园 - MyFavorite

在SQL Server里面有top关键字可以很方便的取出前N条记录,但是Oracle里面却没有top的使用,类似实现取出前N条记录的简单方法如下:

方法1:利用ROW_NUMBER函数

取出前5条记录:

SELECT NO FROM (
    SELECT ROW_NUMBER() OVER (ORDER BY NO) RNO, NO FROM ROWNUM_TEST
)WHERE RNO <= 5  ORDER BY NO ;

取出中间5条记录:

SELECT NO FROM (
    SELECT ROW_NUMBER() OVER (ORDER BY NO) RNO, NO FROM ROWNUM_TEST
) WHERE RNO BETWEEN 5 AND 10 ORDER BY NO;

方法2:利用子查询

取出前5条记录:

SELECT NO FROM (
    SELECT NO FROM ROWNUM_TEST  ORDER BY NO
)WHERE ROWNUM <= 5  ORDER BY NO ;

取出中间5条记录:

SELECT NO  FROM (
    SELECT NO, ROWNUM RNO FROM (
        SELECT NO FROM ROWNUM_TEST  ORDER BY NO
    )
) WHERE RNO BETWEEN 5 AND 10  ORDER BY NO;