MySQL GROUP_CONCAT() 和 SUM()

MySQL GROUP_CONCAT() and SUM()

例如,我有以下table:

id     type         credit
1      loan1        300
2      loan1        200
3      loan2        500  
4      loan2        300
5      allowance1   400
6      allowance2   300 

我想像这样在一行中显示它们

id          loan
1    loan1: 500, loan2: 800

到目前为止,我有以下查询,将它们显示在一行中

GROUP_CONCAT(CASE WHEN type LIKE 'loan%' THEN concat(type, ': ', credit) ELSE NULL END SEPARATOR ', ') as loan

输出:

id                 loan
1    loan1: 300, loan1: 200, loan2: 500, loan2: 300

如何只显示不同的类型并对它们的功劳求和?

谷歌搜索几分钟就能找到这个 article

SELECT id, type, SUM(credit)
FROM table
GROUP BY type;

分组依据会将所有相同的类型组合在一起。如果您只想获得不同的类型,请使用 SELECT 来自 table

的 DISTINCT 类型