使用过SQL Server或者MySql的"select top n toid, tf1, tf2 from sometable order by toid"查询方法的同学在Oracle中实现该功能也许纳闷了!Oracle中没有"select top n ..."的用法, 那么怎么去实现该功能呢, 也许有人想到了使用"select toid, tf1, tf2 from sometable where rownum <=n order by toid "这种方式去实现。 其实这只是假命题, sometable中的rownum是物理属性, 自增的。 当sometable某些记录改变后, 这个rownum就不再连续了。实现该功能,应该采用这样的方式"select * from (select toid,tf1,tf2 from sometable order by toid ) where rownum <=n"。 首先按照排序方式把数据罗列出来, 然后再取行号小于等于n的记录。 此时的rownum并不是物理的, 而是Oracle根据查询结果自动增加的, 所以永远是连续的。
关于rownum
最新推荐文章于 2025-12-02 20:26:41 发布
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Stable-Diffusion-3.5
图片生成
Stable-Diffusion
Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率
1万+

被折叠的 条评论
为什么被折叠?



