【问题标题】:ORA-00979 - not a group by expression - join and countORA-00979 - 不是按表达式分组 - 加入和计数
【发布时间】:2015-10-04 16:45:54
【问题描述】:

我有两个 sql SQL 查询,并且都在工作。但是我需要将这两个查询合并到一个查询中,而我的尝试不起作用。 这些是有效的查询:

from z35
inner join z13
on z35.z35_rec_key=z13.z13_rec_key
where z35_event_type='80' 

select count(z35_event_type) as pocet, z35_rec_key 
from z35 
where z35_event_type='80' 
group by z35_rec_key

我尝试以这种方式组合然后,但出现错误:

select count(z35_event_type) as Total, z35_rec_key, z13.z13_title 
from z35 join z13
on z35.z35_rec_key=z13.z13_rec_key where z35_event_type='80'
group by z35_rec_key

错误是:ORA-00979 - not a group by expression

【问题讨论】:

  • 编辑您的问题并提供示例数据和所需结果。
  • 欢迎来到 Stack Overflow!我编辑了您的问题,以使讲英语的人更容易理解。请编辑您遇到的特定错误消息,以防我的猜测错误。请注意,在第一个示例中,select 部分缺失。祝你好运!

标签: sql oracle join group-by


【解决方案1】:

大概,您可以通过将两个键都放在group by 中来解决此问题:

select count(z35_event_type) as Total, z35_rec_key, z13.z13_title 
from z35 join
     z13
     on z35.z35_rec_key=z13.z13_rec_key
where z35_event_type='80'
group by z35_rec_key, z13.z13_title;

这将解决您的语法问题。是否做你想做的事是另一个问题,因为你没有描述你真正想做的事情。

【讨论】:

  • 超级!太感谢了。它完美地工作。我没有意识到我必须在组中使用两列。
  • 很好奇,有人知道为什么这会被否决吗?
  • 有人使用对 group by 不那么严格的 RDBMS,并认为这个答案是错误的?
【解决方案2】:

z13.z13_title - 不在 GROUP BY 子句中

【讨论】:

    猜你喜欢
    • 2011-05-25
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 2021-05-27
    • 2013-03-29
    相关资源
    最近更新 更多