【发布时间】:2020-05-10 18:30:36
【问题描述】:
查询1:
select 1 from (select count(*),col1 from table1);
O/P: 1
版本:11g
查询2:
select * from (select count(*),col1 from table1);
O/P: 错误:
执行 (1: 32): ORA-00937: 不是单组群函数
版本:11g
因为,我们是同一个版本, 1. 对于Query2,为什么会报错? 2. 没有分组,query1如何返回结果?
在版本 12C 中,两个查询都返回上述错误。
【问题讨论】:
-
根据您的设置,优化器可能会从查询中删除一些内容,因此您最终可能会在 11 中得到答案,在 12 中得到错误。你肯定知道为什么会出现错误,至少我希望如此。
-
看起来像一个错误。作为一般规则:对于未聚合的列,聚合需要 GROUP BY 子句,因此 12c 的输出似乎是适当的,因为它会引发错误。
标签: oracle oracle11g oracle12c