2012-03-01 48 views
0

需要幫助的查詢每月用逗號MSQL總和月份值加羣CONCAT

分組總結所有的值嘗試:

SELECT GROUP_CONCAT((
    SELECT SUM(price) 
    FROM sales 
    GROUP BY MONTH(date)) 
    ) 
FROM sales 
LIMIT 0 , 30 

但返回:#1242 - 子查詢返回多個1行

group_concat本身不會幫助,因爲我需要按月份的值的總和。

任何幫助?由於

回答

2

未經測試:

SELECT GROUP_CONCAT(a.totprice) 
FROM (
    SELECT SUM(price) as totprice 
    FROM sales 
    GROUP BY MONTH(date) 
) a; 

注意,您將獲得最大的12個值,因爲任何不同年份進行合併。您可能希望在子查詢中添加一個ORDER BY,以按結果中定義的順序獲取月份。

+0

謝謝,但返回一個奇怪的值:[BLOB - 13 B] – Henrique 2012-03-01 22:13:49

+0

好吧,MySQL認爲結果是二進制的,由於某種原因。價格欄的數據類型是什麼?將第一行更改爲'SELECT CAST(GROUP_CONCAT(a.totprice)'),您將獲得文本。 – 2012-03-01 22:18:01

+0

謝謝,工作完美。它是浮動的,並嘗試varchar,但你的解決方案工作!謝謝 – Henrique 2012-03-01 22:20:35