MYSQL中的SUM(子查询)

时间:2012-01-06 11:20:56

标签: mysql subquery aggregation

基本上,我正在尝试以下方法:

SELECT m.col1, SUM(SELECT col5 FROM table WHERE col2 = m.col1)
FROM table AS m

这似乎不起作用。有没有解决方案?

3 个答案:

答案 0 :(得分:32)

你为什么不这样做:

SELECT m.col1, (SELECT SUM(col5) FROM table WHERE col2 = m.col1)
FROM table AS m

答案 1 :(得分:4)

是 - 使用加入

SELECT m.col1, SUM(j.col5) FROM table AS m 
       JOIN table AS j ON j.col2 = m.col1 GROUP BY m.col1

答案 2 :(得分:2)

在第二个选择中使用Sum,我们想要对该列求和。 如果表m中存在此列,则col2可能是不明确的列。

SELECT
    m.col1,
    (SELECT SUM(t.col5) FROM table AS t WHERE t.col2 = m.col1) AS sumcol
FROM table AS m