ole*_*lek 7 sql oracle subquery
有人可以解释一下为什么这个查询需要Oracle中的GROUP BY子句而在MSSQL,MySQL,Postgresql中完全没问题吗?
select count(*) / (select count(*) from dual)from dual
Run Code Online (Sandbox Code Playgroud)
甲骨文抱怨道
"[Error] Execution (1: 27): ORA-00937: not a single-group group function"
Run Code Online (Sandbox Code Playgroud)
如果我改变它并像这样添加虚拟组
select count(*) / (select count(*) from dual)from dual
group by null
Run Code Online (Sandbox Code Playgroud)
那对甲骨文来说没问题.为什么Oracle需要这个组?
MySQL 有一些语法在 ANSI SQL 中无效。基本上,这里有一个count(*)聚合函数。单独而言,它不需要 agroup by但如果您添加select count(*)which 可能取决于您的行 - 此处情况并非如此,但您可以在内部进行连接 - 那么您的第二个select不是常量,您应该 us group by。
| 归档时间: |
|
| 查看次数: |
206 次 |
| 最近记录: |