2012-01-06 114 views
17

基本上,我想以下幾點:SUM(子查詢)在MYSQL

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

這似乎並沒有工作。有沒有解決方法?

回答

23

你爲什麼不這樣做:

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

感謝,它爲我工作,幹得好。 。 – 2017-02-04 09:22:48

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

總量由內側的第二選擇,在這裏我們要總結列使用。 col2可能是不明確的列,如果這樣的列存在於表m中。

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