Mysql group_concat与总和

Mysql group_concat与总和

问题描述:

Mysql group_concat我有一个我想要总结的不同属性的表,然后将它们连接成一个JSON字符串,使它更容易通过网络发送。这里有一个简单的表:Mysql group_concat与总和

t1 
type amount 
'atr1' 10 
'atr2' 10 
'atr1' 17 
'atr3' 20 
'atr3' 4 

我想是这样

select concat('{', 
    group_concat(
     (select concat('"', type, '":', sum(amount)) from t1 group by type) 
    ), 
'}') 

,但失败了。

我想'{"atr1":27,"atr2":10,"atr3":24}'

尝试此查询落得 -

SELECT CONCAT('{', GROUP_CONCAT(c1), '}') FROM (
    SELECT CONCAT('"', type, '":', SUM(amount)) c1 FROM t1 GROUP BY type 
) t 

select 
    group_concat(concat('"', type, '":', TheSum)) 
FROM 
    (
    SELECT SUM(amount) AS TheSum,type 
    FROM t1 
    GROUP BY type 
    ) T