gpt4 book ai didi

sql - 为什么 rownum 上的 sql 查询都给出不同的结果

转载 作者:行者123 更新时间:2023-12-01 12:41:28 25 4
gpt4 key购买 nike

>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**

为什么会给出不同的结果?我想对此有详细的解释。

最佳答案

因为第二次,rownum不是内层SQL的rownum,而是外层SQL的rownum!

这就是为什么您需要“重命名”它,以便它变得“固定”的原因。

否则,rownum =2 过滤器永远不会匹配,因为每一行都是第一行。

关于sql - 为什么 rownum 上的 sql 查询都给出不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3581828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com