首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用rownum选择表的第二行

使用rownum选择表的第二行
EN

Stack Overflow用户
提问于 2012-02-11 20:25:56
回答 8查看 79.2K关注 0票数 27

我已经尝试了下面的查询:

代码语言:javascript
复制
select empno from (
                   select empno 
                     from emp
                    order by sal desc
                  )
where rownum = 2

这不会返回任何记录。

当我尝试这个查询时

代码语言:javascript
复制
 select rownum,empno from (
                        select empno from emp order by sal desc) 

它给出了以下输出:

代码语言:javascript
复制
ROWNUM  EMPNO      
1       7802        
2       7809    
3       7813    
4       7823

有人能告诉我我的第一个查询有什么问题吗?为什么添加ROWNUM筛选器时没有返回任何记录?

EN

回答 8

Stack Overflow用户

发布于 2012-02-11 20:30:47

试试这个:

代码语言:javascript
复制
SELECT ROW_NUMBER() OVER (ORDER BY empno) AS RowNum,
       empno
FROM   tableName
WHERE  RowNumber = 2;

来自源代码的代码片段:

代码语言:javascript
复制
SELECT last_name FROM 
      (SELECT last_name, ROW_NUMBER() OVER (ORDER BY last_name) R FROM employees)
WHERE R BETWEEN 51 and 100

REFERENCE

票数 2
EN

Stack Overflow用户

发布于 2017-05-09 17:55:53

对于在oracle中使用rownum的第n行:

代码语言:javascript
复制
select * from TEST WHERE ROWNUM<=n
MINUS
select * from TEST WHERE ROWNUM<=(n-1);

第二行的示例:

代码语言:javascript
复制
select * from TEST WHERE ROWNUM<=2
MINUS
select * from TEST WHERE ROWNUM<=1;
票数 1
EN

Stack Overflow用户

发布于 2015-07-07 14:57:35

从以下位置选择empno (

代码语言:javascript
复制
                        select empno,rownum as rum
代码语言:javascript
复制
                        from emp,
代码语言:javascript
复制
                        order by sal desc
代码语言:javascript
复制
               )

其中rum=2;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9240192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档