2014-03-28 160 views
2

我想執行我的數據庫以下查詢: -Mysql的嵌套查詢和GROUP BY

SELECT 
source, Month as t1, 
GROUP_CONCAT(SELECT SUM(amount) FROM `reports` GROUP BY Month) as amount 
FROM `reports` 
GROUP BY source 

要獲得sourcemonth,並且由不同的獲得的資金總和的concatenated string源於1個月。但是我得到一個語法錯誤。

+1

有兩個名爲'report'和'reports'的表嗎?還是它是一個錯字? – Vatev

+1

您正在使用有害的非標準MySQL hackstension來進行「GROUP BY」。請閱讀這個。 http://dev.mysql.com/doc/refman/5.5/en/group-by-extensions.html –

+1

@Vatev他們是一樣的 – mega6382

回答

1

我不清楚自己需要什麼,希望這是這兩種中的一種:

SELECT source, Month, SUM(amount) as sum 
FROM reports 
GROUP BY source, Month 

以上,但源在一個字段中列出的金額進行分組:

SELECT source, GROUP_CONCAT(sum) as sums 
FROM (
    SELECT source, Month, SUM(amount) as sum 
    FROM reports 
    GROUP BY source, Month 
) as t 
GROUP BY source