小编Van*_*rat的帖子

SQL Developer 建议我将聚合添加到 group by 子句

这实际上并不是一个错误,只是一个我想要一些解释的烦恼。我已经尝试过我的 Google-Fu,但我今天显然缺乏技能。

我正在使用 Oracle SQL Developer 4.1.5.21 Build MAIN-21.78 我曾经使用 2010 年的非常旧的版本(不记得版本号),并且它从未提出过这个建议,这让我感到困惑。

本质上,我有以下查询:

  SELECT
          STDT."Student_ID"
        , STDT."Study_Package_Code"
        , STDT."Availability_Year"
        , STDT.semester_agg AS "Semester"
        , MIN(STDT."Application_Date") AS APP_DATE
  FROM INT_COMMENCING_APPS STDT
  WHERE 1=1
  AND STDT."Availability_Year" >= 2017
  GROUP BY STDT."Student_ID"
        , STDT."Study_Package_Code"
        , STDT."Availability_Year"
        , STDT.semester_agg
Run Code Online (Sandbox Code Playgroud)

它运行良好,没有错误,并返回预期的数据。然而,甲骨文开发人员告诉我,我又蠢又错,应该去死……好吧,也许没那么糟糕。但它确实给了我一个查询提示,告诉我我错了:

SELECT list inconsistent with GROUP BY;
amend GROUP BY clause to:
          STDT."Student_ID"
        , STDT."Study_Package_Code"
        , STDT."Availability_Year"
        , STDT.semester_agg
        , MIN(STDT."Application_Date")
Run Code Online (Sandbox Code Playgroud)

请注意它如何告诉我将聚合 MIN 函数添加到我的 GROUP BY 子句中,结果是什么?我已经编写 SQL 多年了,这是我第一次被告知要做这样的事情...坦率地说,我现在忽略 Oracle,因为它是个混蛋,无法礼貌地告诉我为什么。话虽这么说,如果有人有的话,我希望社区能给出解释。:)

谢谢!

编辑 2016 年 9 …

oracle oracle-sql-developer

5
推荐指数
1
解决办法
5124
查看次数

标签 统计

oracle ×1

oracle-sql-developer ×1