如何SUM()MySQL中的多个子查询行?

时间:2010-09-24 09:03:57

标签: mysql

问题很简单:我想这样做:

SELECT SUM((...一个返回多个行,带有单个int值的子查询...))AS total;

我该怎么做?我得到一个错误,说子查询返回多行。我需要在子查询中使用它。

2 个答案:

答案 0 :(得分:12)

这是一种适合您的方法:

SELECT SUM(column_alias)
FROM (select ... as column_alias from ...) as table_alias

这是一个特定的虚拟示例,用于显示实施方法:

select sum(int_val) 
from (
  select 1 as int_val 
  union
  select 2 as int_val 
  union 
  select 3 as int_val
) as sub;

答案 1 :(得分:1)

难道你不能在子查询中进行聚合吗?

SELECT
    (SELECT SUM(...) ...) AS total,
    ...

(未测试!)