You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle SQL Developer子查询报错:缺失右括号问题咨询

问题原因与解决方法

你的错误根源在于标量子查询(作为SELECT列表中列值的子查询)不允许包含ORDER BY子句,这是Oracle的语法规则限制。

为什么单独运行子查询没问题?

单独执行select min(first_col) from Data1 order by first_col DESC时,它是一个独立的查询语句,Oracle允许在聚合查询后添加ORDER BY(尽管这里的排序对结果毫无意义,因为MIN()本身只返回一个值)。但当你把它嵌套成外层SELECT的列值时,它变成了标量子查询,Oracle要求这类子查询必须返回单一确定的值,且不允许包含ORDER BY。此时Oracle无法解析这个语法,就抛出了误导性的“缺失右括号”错误。

修正方案

因为MIN(first_col)本身已经返回first_col的最小值,排序操作完全多余,直接去掉ORDER BY即可:

select ( select min(first_col) from Data1) as AB,
       max(second_col)
from Data1;

如果你的实际需求是获取first_col的最大值(而非最小值),那应该直接使用MAX()函数,不需要借助ORDER BY:

select ( select max(first_col) from Data1) as AB,
       max(second_col)
from Data1;

内容的提问来源于stack exchange,提问作者yash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 14:02:27