【发布时间】:2017-09-21 23:44:54
【问题描述】:
我是 Oracle 的新手,对 MySQL 有一点了解。我想完成这项工作:
SELECT A1, A2, A3, SUM(A4) SA4
FROM (
SELECT A1
, A2
, A3
, A4
FROM T1
GROUP BY A1, A2, A3, A4, A5, A6, A7, A9, A10, A11, A12 ...
) a
GROUP BY A1, A2, A3
我很确定它可以在 MySQL 中运行,但在 Oracle 中我收到以下错误:
ORA-00979 "不是 GROUP BY 表达式"
这让我发疯。内部查询太大,无法在此处显示,但肯定有重复项,这就是我想通过外部查询消除的内容。你能帮我看看我做错了什么吗?非常感谢!
【问题讨论】:
-
如果能提供内选查询的代码sn-p,有助于理解问题。
-
能否请您发布完整的代码?问题可能出在内部查询中吗?
-
奇怪,内部查询如何影响外部查询...?它应该只是外部查询的结果集,不是吗? (至少在 MySQL 中会是这样。)
-
@user2511599 请提及内部查询中的内容?
-
假设内部查询有
A1、A2,A3` 和A4列,那么您的查询应该可以工作。您能否显示您正在使用的完整查询,因为您没有理由出现该错误。
标签: sql oracle oracle11g group-by