我有一个我想要求和的不同属性的表,然后将它们连接成一个JSON字符串,以便更容易通过网络发送。这是一个简化的表格:
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}'
答案 0 :(得分:1)
类似
select
group_concat(concat('"', type, '":', TheSum))
FROM
(
SELECT SUM(amount) AS TheSum,type
FROM t1
GROUP BY type
) T
答案 1 :(得分:1)
尝试此查询 -
SELECT CONCAT('{', GROUP_CONCAT(c1), '}') FROM (
SELECT CONCAT('"', type, '":', SUM(amount)) c1 FROM t1 GROUP BY type
) t