我想创建一些报告以便我可以快速获取有关我们帮助台的数据,我正在使用运行在 MySQL 5.5 上的 GLPI
我有以下代码,它返回了一些有用的信息,但还不够,因此可以将其放入一个漂亮的堆叠图中,这正是他所要求的。为了获得足够的数据来实现这一点,我需要紧迫性为零,天数也为零,然后我可以将数据转换为 Excel 中的表格并构建图表。
当前查询:
SELECT DATE_FORMAT(date,'%d/%m/%Y') AS Date,Urgency,COUNT(*) as Tickets
FROM glpi.glpi_tickets
WHERE month(date)=month(NOW())
GROUP BY urgency ORDER BY date,urgency ASC;
返回:
# Date, Urgency, Tickets
'07/06/2016', '3', '10'
'10/06/2016', '2', '1'
'14/06/2016', '1', '1'
'14/06/2016', '5', '1'
理想情况下,我希望它显示如下:
# Date, Urgency, Tickets
'07/06/2016', '1', '0'
'07/06/2016', '2', '0'
'07/06/2016', '3', '10'
'07/06/2016', '4', '0'
'07/06/2016', '5', '0'
'08/06/2016', '1', '0'
'08/06/2016', '2', '0'
'08/06/2016', '3', '0'
'08/06/2016', '4', '0'
'08/06/2016', '5', '0'
...
'14/06/2016', '1', '1'
'14/06/2016', '2', '0'
'14/06/2016', '3', '0'
'14/06/2016', '4', '0'
'14/06/2016', '5', '1'
等等。
我有点掌握 SQL(自学)的窍门,因此非常感谢所有帮助。
编辑:添加了架构,我认为这就是您所要求的(希望它有效)http://sqlfiddle.com/#!9/715c7
最佳答案
您的查询为每个 urgency
生成一行,因为您只按该列分组。为了查看每个日期和紧急程度的不同结果,您必须修改 GROUP BY。
SELECT
DATE_FORMAT(date,'%d/%m/%Y') AS Date,
Urgency,
COUNT(*) as Tickets
FROM
glpi.glpi_tickets
WHERE
month(date)=month(NOW())
GROUP BY
DATE(date),
urgency
ORDER BY
date, urgency ASC;
关于mysql - 即使为 null、0 或不存在也返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37816984/