问题很简单:我想这样做:
SELECT SUM((...一个返回多个行,带有单个int值的子查询...))AS total;
我该怎么做?我得到一个错误,说子查询返回多行。我需要在子查询中使用它。
答案 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,
...
(未测试!)