Oracle使用fetch first子句报错:ORA-00933 SQL命令未正确结束

问题背景

今天在统计终端厂商告警次数Top10的时候使用SQL查询使用到了fetch first子句,结果执行报错:ORA-00933 SQL命令未正确结束。

报错原因

Oracle数据库中,使用 FETCH FIRST 子句需要启用 Oracle 12c 及以上版本。如果在较低版本的 Oracle中使用FETCH FIRST 子句则会报错。如图(公司是内网环境开发,无法访问外网,截图没办法传到手机上,只能拍照记录):

解决方案

通过子查询和 ROWNUM 来实现同样的功能,代码如下:

sql 复制代码
SELECT vendor_name, total_faults
FROM (
    SELECT vendor_name, SUM(fault_count) AS total_faults
    FROM your_table_name
    GROUP BY vendor_name
    ORDER BY total_faults DESC
)
WHERE ROWNUM <= 10;

成功查询到期望数据 :

注:图片数据均为研发环境模拟数据,如有雷同纯属巧合。

相关推荐
Lucifer三思而后行28 分钟前
Oracle SQL 优化实战:明明走了索引,SQL 还是慢?
sql·oracle
螺蛳粉 螺蛳粉1 小时前
MySQL 分布式集群系列 · 第五篇——全方位对比:NDB、MGR、主从复制、分库分表怎么选?
数据库·分布式·mysql
泡泡鱼(敲代码中)3 小时前
MySQL 学习笔记:DCL、函数与约束 —— 安全、效率、完整性的三板斧
开发语言·笔记·sql·学习·mysql·gitee
这个DBA有点耶5 小时前
从OLTP到OLAP到HTAP:数据库负载分类的技术演进与选型指南
数据库·mysql·架构
润乾软件6 小时前
SQLazy: 在分组内搜索指定偏移量的相邻记录
sql·sqlazy
YangYang9YangYan7 小时前
商业数据分析校招项目怎么选,附项目设计与简历包装思路
大数据·数据库·数据分析
李白客7 小时前
数据库培训怎么选?零基础到DBA的学习路线与机构认证对比(2026)
数据库·学习
shark-chili7 小时前
关于AI辅助编程的认知
数据库·人工智能·redis·macos·缓存
SendTomo7 小时前
.ico透明图标在线生成下载平台深度解析
大数据·数据结构·数据库·数据仓库·个人开发
DarkAthena7 小时前
【DuckDB】在DuckDB中查询ORACLE的数据的三种方式
oracle·duckdb