【发布时间】:2017-06-01 07:22:15
【问题描述】:
我被困在尝试“合并日期数组”以将数据显示到 Google 柱形图中。我想按年/月对问题及其成本进行分组。这是我的数据
array
0 =>
array
'date' => string '2017-03'
'source' => string 'Problem 1'
'cost' => float 135
1 =>
array
'date' => string '2017-03'
'source' => string 'Problem 2'
'cost' => float 385
2 =>
array
'date' => string '2017-04'
'source' => string 'Problem 3'
'cost' => float 3500
3 =>
array
'date' => string '2017-04'
'source' => string 'Problem 1'
'cost' => float 4437.5
4 =>
array
'date' => string '2017-04'
'source' => string 'Problem 2'
'cost' => float 318
期望的输出是https://jsfiddle.net/9d1fzsaf/1/
如果通过 MySQL groupby 日期和问题来源获取数据,是否应该优化查询?
SELECT DATE_FORMAT(creation_date,'%Y-%m') AS date,
( CASE
WHEN source_problem = '0' THEN 'Empty'
WHEN source_problem = '1' THEN 'Problem 1'
WHEN source_problem = '2' THEN 'Problem 2'
WHEN source_problem = '3' THEN 'Problem 3'
ELSE 'Others'
END ) AS source,
SUM(aprox_cost) AS cost
FROM table
WHERE source_problem IS NOT NULL
GROUP BY DATE_FORMAT(creation_date,'%Y-%m'),
source_problem
任何帮助将不胜感激! 谢谢
【问题讨论】:
-
在从查询中获取记录时重新组合数据。
-
谢谢你的回答,这正是我想要做的 $req->execute();
$results = $req->fetchAll(); foreach ($results as $result) { $data[] = array('date'=>$result['date'],'source'=>$result['source'], 'cost'=>(float)$result['cost']); }这里我不知道如何按日期重新分组数据
标签: php arrays charts google-visualization