【问题标题】:SQL Query not working ORA-00979: not a GROUP BY expressionSQL 查询不起作用 ORA-00979: 不是 GROUP BY 表达式
【发布时间】:2022-01-06 00:52:11
【问题描述】:

所以我在复习过去的试卷,并且一直在尝试解决这个问题。它基本上要求我在某个“模板”中打印出文本,就像我尝试过的输出一样。现在,这段代码大部分都可以工作,但一旦我尝试添加 Group 函数就会中断。

SELECT firstname, lecturerID, COUNT(ModuleCode)
from Lecturer
LEFT OUTER JOIN ModuleDelivery 
ON lecturerID = lecturerNo
GROUP BY lecturerID;

编辑:我已经简化了代码以避免混淆

关于可能出现什么问题的任何线索?

【问题讨论】:

  • @KenWhite 不幸的是,这不是一个解决方案:(我已经尝试了一切
  • GROUP BY 要求包含SELECT 中未聚合的所有列。你错过了firstname。你需要一个 SQL 教程。在我上次发表评论后,您错误地修改了 SELECT 列表并使其仍然无效。根据您当时包含的代码,我的第一条评论是正确的。
  • 这能回答你的问题吗? ORA-00979 not a group by expression
  • @KenWhite 我真的需要一个。有什么资料可以告诉我在哪里可以找到有关如何正确使用按功能分组的更详细的教程?如果我说我对自己的无知并不感到沮丧,那我就是在撒谎
  • @KenWhite 天哪,它成功了

标签: sql oracle oracle-sqldeveloper


【解决方案1】:

您需要将firstname 添加到您的GROUP BY

GROUP BY firstname, lecturerID

您在 ModuleCode 上使用聚合函数 (COUNT),因此任何剩余的列必须是聚合函数 (SUM/COUNT/MIN/MAX) 或包含在 group by

(这是作业题吗?)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 2013-03-29
    • 2013-06-25
    • 2011-04-24
    • 1970-01-01
    • 2021-10-30
    相关资源
    最近更新 更多