php - 按种类选择总和和分组

标签 php mysql json morris.js

我正在尝试用我的 MySql 数据库中的数据填充莫里斯图表的数据数组。

我有这样的 '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

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

值(value)总和,按数据和种类分组。

1 月:450、L 和 250 B

2 月: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"}]

我的问题是我不知道如何考虑“种类”字段。我该怎么做?

谢谢!

最佳答案

试试这个:

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 )

关于php - 按种类选择总和和分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37386286/

相关文章:

php - 如何使用 PHP 编辑外部 css 文件?

php - 使用 Codeigniter 在文本框中显示最后插入的记录

php - 如何搜索不在任何html标签中的url,然后将其转换为超链接?

MySql选择两个日期之间每个日期的平均评分

android - 将已解析的 JSON 添加到 ListView 并显示它

json - Angular:HttpClient 错误,响应为空 200/201(总是调用 JSON.parse (""))

node.js - 使用nodejs在JSON redis中设置函数类型

php - 使用 PHP 和 IFrame 在本地覆盖网页样式

php - openshift DB 配置导致 503

php - 不显示选定的阵列