Kum*_*mar 2 sql oracle plsql max rownum
>SELECT instmax
FROM
(SELECT instmax,
rownum r
FROM
( SELECT * FROM pswlinstmax ORDER BY instmax DESC NULLS LAST
)
)
WHERE r = 2;
INSTMAX
-------
1049
>SELECT instmax
FROM
(SELECT instmax,
rownum
FROM
(SELECT * FROM pswlinstmax ORDER BY instmax DESC
)
)
WHERE rownum=2;
**NO RETURNED ROW**
Run Code Online (Sandbox Code Playgroud)
为什么会给出不同的结果?我想对此进行详细解释.
因为secont时间,rownum不是内部SQL的rownum而是外部的rownum!
这就是为什么你需要"重命名"它,以便它变得"固定"的原因.
否则,rownum = 2过滤器永远不匹配,因为每一行都是第一行.
| 归档时间: |
|
| 查看次数: |
724 次 |
| 最近记录: |