【问题标题】:Can we write a select query in an aggregate function parameter?我们可以在聚合函数参数中编写选择查询吗?
【发布时间】:2011-05-14 07:38:01
【问题描述】:

我们可以在聚合函数参数中编写选择查询吗?

例如,是否可以编写如下 SQL 查询?

SELECT SUM (SELECT EMP.SAL FROM EMPLOYEE EMP) FROM EMPLOYEE E;

【问题讨论】:

  • SELECT SUM (E.SAL) FROM EMPLOYEE E 可能是你需要的
  • 我认为他的意思是“SELECT EMP.SAL FROM EMPLOYEE EMP”不是如图所示的文本,而是一个参数(来自 storproc?)

标签: mysql


【解决方案1】:

直接使用:

SELECT SUM (EMP.SAL) FROM EMPLOYEE EMP

【讨论】:

    【解决方案2】:

    也许没有必要。您的问题的查询可以替换为:

    SELECT SUM(EMP.SAL) FROM EMPLOYEE EMP;
    

    【讨论】:

      【解决方案3】:

      ,这是不正确的语法。

      来自SUM([DISTINCT] expr)

      返回 expr 的总和

      不是结果集。

      您为什么要这样做。向我们展示您正在努力实现的目标,也许我们可以为您提供更好的帮助。

      【讨论】:

      • 他们是否可以在聚合函数参数中编写选择查询
      • 您为什么要这样做?你的意图是什么?向我们展示您要完成的工作...
      • 我有同样的问题其实我想使用 GROUP By 在聚合函数中点击链接stackoverflow.com/questions/38699752/…
      【解决方案4】:

      可以,只要 Employee.Sal 是一个数字字段。 (尽管如果这些是您实际使用的字段,则没有理由不使用Select Sum(Sal) from Employee)。

      【讨论】:

        【解决方案5】:

        试试这个

           Select sum(EMP.SAL) FROM EMPLOYEE EMP
        

        【讨论】:

          猜你喜欢
          • 2020-09-18
          • 2021-04-20
          • 1970-01-01
          • 2011-06-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-29
          • 2016-09-29
          相关资源
          最近更新 更多