我已经尝试了下面的查询:
select empno from (
select empno
from emp
order by sal desc
)
where rownum = 2
这不会返回任何记录。
当我尝试这个查询时
select rownum,empno from (
select empno from emp order by sal desc)
它给出了以下输出:
ROWNUM EMPNO
1 7802
2 7809
3 7813
4 7823
有人能告诉我我的第一个查询有什么问题吗?为什么添加ROWNUM筛选器时没有返回任何记录?
发布于 2012-02-11 20:30:47
试试这个:
SELECT ROW_NUMBER() OVER (ORDER BY empno) AS RowNum,
empno
FROM tableName
WHERE RowNumber = 2;
来自源代码的代码片段:
SELECT last_name FROM
(SELECT last_name, ROW_NUMBER() OVER (ORDER BY last_name) R FROM employees)
WHERE R BETWEEN 51 and 100
发布于 2017-05-09 17:55:53
对于在oracle中使用rownum的第n行:
select * from TEST WHERE ROWNUM<=n
MINUS
select * from TEST WHERE ROWNUM<=(n-1);
第二行的示例:
select * from TEST WHERE ROWNUM<=2
MINUS
select * from TEST WHERE ROWNUM<=1;
发布于 2015-07-07 14:57:35
从以下位置选择empno (
select empno,rownum as rum
from emp,
order by sal desc
)
其中rum=2;
https://stackoverflow.com/questions/9240192
复制相似问题