按种类选择总和和分组

时间:2016-05-23 08:36:43

标签: php mysql json morris.js

我正在尝试使用MySql数据库中的数据填充数据数组中的Morris图表。

我有这样的表'buchungen':

ID   Value   Kind   Date
1    200     L      2016-01-01
2    250     B      2016-01-01
3    250     L      2016-01-01
4    200     B      2016-02-01
5    250     B      2016-02-01
6    200     L      2016-02-01

我想做一个查询,给我这样的输出:

按价值和种类分组的价值总和。

1月:450,L和250 B

二月:450 B和200 L

所需的结构:

[{"m":"1","a":"450","b":"250},{"m":"2","a":"200","b":"450}]

使用我的查询:

SELECT MONTH( date ) AS m, SUM( value ) AS a
FROM  `buchungen`
WHERE YEAR( date ) = YEAR( CURDATE( ) )
GROUP BY MONTH( date )

我得到以下结构:

[{"m":"4","a":"476852.64"},{"m":"5","a":"851866.74"}]

我遇到的问题是我不知道如何考虑“善意”字段。我怎么能这样做?

谢谢!

2 个答案:

答案 0 :(得分:3)

试试这个:

SELECT MONTH( date ) AS m, 
       SUM(CASE WHEN Kind = 'L' THEN value ELSE 0 END) AS a,
       SUM(CASE WHEN Kind = 'B' THEN value ELSE 0 END) AS b
FROM  `buchungen`
WHERE YEAR( date ) = YEAR( CURDATE( ) )
GROUP BY MONTH( date )

答案 1 :(得分:0)

正如您所提到的,您想要按日期和种类分组的价值总和,请尝试以下方法:

removeAll