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;

成功查询到期望数据 :

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

相关推荐
ss2731 小时前
PostgreSQL常见索引问题与解决方案
数据库·postgresql
小徐不徐说2 小时前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
瀚高PG实验室3 小时前
发布端逻辑复制槽消失
数据库·postgresql·瀚高数据库
ss2733 小时前
PostgreSQL慢查询定位与优化
数据库·postgresql
香蕉大香蕉(06敬畏市场)4 小时前
MySQL 单点详解(07)
java·数据库·mysql·ai·博客·八股
smilejingwei5 小时前
TRAE 插件上新 | SQLazy:让 AI 写出可信复杂 SQL
数据库·人工智能·sql
我要见SA姐15 小时前
GitHub Actions 自动化:5 个真实运维提效案例
运维·数据库·机器学习·oracle·回归
QXWZ_IA6 小时前
边坡监测预算有限时的建设顺序:虚拟基准站与成本账
网络·数据库
这个DBA有点耶7 小时前
1亿条向量内存降95.4%,延迟降80%:金仓AI原生内核真能解决RAG痛点?
数据库·人工智能·开源
Y3815326627 小时前
用 httpx 写 SerpBase 异步客户端:连接池与超时配置
运维·服务器·数据库