暂无图片
Oracle排序后如何限制返回的行数?
我来答
分享
坚果
2021-08-26
Oracle排序后如何限制返回的行数?

类似postgresql的order by xx limit 10;
oracle有这些写法吗?不想在里面套一层rownum。

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
Lucifer三思而后行
暂无图片

12C之前只能使用rownum来限制返回行数。

12C之后提出一个新的函数,通过偏移量来限制:

原sql返回结果如下:

SELECT * FROM lucifer ORDER BY id;
复制

image.png

通过以下语句查询限制返回前三条:

SELECT * FROM lucifer ORDER BY id OFFSET 0 ROWS FETCH NEXT 3 ROWS ONLY;
复制

如上语句即可返回前三行:

image.png

通过控制偏移量和需要显示的条数,能够更加灵活的限制返回结果。

希望能帮助到你!

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
回答交流
Markdown


请输入正文
提交
相关推荐
请教一SQL(生成时段序列,Oracle数据库)
回答 1
已采纳
variableavarchar2(10);exec:a:'20200507';witht1as(selectaddmonths(todate(:a,'yyyymmdd'),(level1)12)as
今天做题了吗?
回答 2
已采纳
MigratingtheSYSTEMTablespacetoa LocallyManagedTablespacehttps://docs.oracle.com/cd/E1188201/ser
如何进行 Oracle10gRAC关闭及启动
回答 1
停止rac服务以及实例crsctlstopcrs启动rac服务以及实例crsctlstartcrs
Oracle如何可以找出全库里带有乱码的存储过程?
回答 1
先定义下你说的乱码是满足什么样的特征,如果定义不出来,就更加别谈找出来了。如果要查所有存储过程的代码,可以查allsource视图
oracle 结束进程
回答 3
如果有条件从操作系统杀进程,尽量从操作系统杀,因为从操作系统杀,pmon处理释放资源的优先级更高,还有你可能数据库层面可能会存在杀不掉,杀掉之后资源不释放的情况。
如果有两台服务器,硬盘空间足够大,选择dg ,还是一台数据库,另一台rman备份 ?
回答 2
如楼上薛老师所说,ADG是相对比较好的一个方案,部署成本低,后期运维也省心。参考方案:源端RMAN定期全备、增量备,目标端部署ADG实时同步,非常稳妥。具体的版本是?
oracle ADG创建文件失败
回答 3
這個題目本身思路就有問題1.出錯原因應該是未設定dbfilenameconvert'E:\APP\HBSPC\ORADATA\SYDB\','D:\ORACLE\WINDOWS.X64193000DB
Oracle数据库修改了编码之后,数据需要重新导入吗?
回答 5
已采纳
如果你的字符集是超集,问题不大.如果不是超集,那可能出现乱码或者数据截断.
oracle如何快速上云
回答 2
60小时窗口,时间很富裕了。无论是inmdp方式或者xtts,都可以。xtts方式比较省心一些,物理方式,不用核对数据之类
想请问一下,服务器系统是Linux 数据库是Oracle 但是业务在使用过程中,数据库偶尔会自动关闭,请问是什么情况?
回答 2
可以看下alert.log,会记录相关启停的信息。