在企业中,我们难免会遇到使用图标来显示一些数据,比如折线图、饼状图、柱状图等等,可以更直观的看到想要的数据。但是在我们实际开发过程中,直接使用数据表中数据是不太现实的,必须得将原始数据进行处理之后才能得到我们想要的数据,今天就以我的第一个饼状图为例。
1、对原始数据筛选的第一个视图(因为MySQL不支持子查询,所以这个视图是必要的):
2、在第一个视图基础上再一status字段为条件再建三个视图:
3、将步骤2中三个视图进行关联,并进行行列转换,这里要用到函数group_concat,先展示代码:
SELECT
a.type,
GROUP_CONCAT(a.sum_task) AS created,
GROUP_CONCAT(b.sum_task) AS executed,
GROUP_CONCAT(c.sum_task) AS finished
FROM
view_task_created a
JOIN view_task_execute b ON a.type = b.type
JOIN view_task_finished c ON a.type = c.type
GROUP BY
a.type
视图数据如下:
此时这个数据就可以为我所用了。
最终柱状图效果展示: