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