如何在基于月份的 MySQL 填充数据后基于每日填充数据
Posted
技术标签:
【中文标题】如何在基于月份的 MySQL 填充数据后基于每日填充数据【英文标题】:How to populate data based on daily after populated data based on month MySQL 【发布时间】:2016-09-01 05:42:15 【问题描述】:我正在使用 AngularJS 和 FusionCharts 开发一个 Web 应用程序
我想显示一个基于我使用此查询构建的月销售额的图表
SELECT DATE_FORMAT(sales_time, '%b') AS Month, SUM(grand_total)
FROM pos_sales
GROUP BY DATE_FORMAT(sales_time, '%b')
ORDER BY sales_time ASC
上面的查询会给出这样的结果
Month | Grand_total
Apr 250.000
May 150.000
我想使用这个填充月份作为数据来生成基于填充月份的每日报告。
问题是如何根据点击的月份填充数据? 我曾尝试使用此查询
SELECT sales_time, grand_total FROM pos_sales WHERE MONTH(sales_time)
上面的查询填充每日数据,但不是按月顺序。我希望它是那种
Month | Item | Total
May Item1 250.000
May Item2 150.000
我可以通过硬编码来创建图表,但这不是我想要的。我希望它是基于我的数据库的动态图。
【问题讨论】:
【参考方案1】:首先,如果您需要获取每日报告的数据,您必须像这样查询它
SELECT sales_time, grand_total FROM pos_sales WHERE MONTH(sales_time) ORDER BY **Date**
这应该可以解决您按顺序获取所选月份数据的问题。
接下来,利用 Fusion 图表中获取的结果集。您应该在 SQL 查询和渲染图表之间编写解析器。此解析器应按每一行解析您的数据并创建一个 .xml / .json 文件(以您方便的为准)并使用此创建的文件来呈现您的图表。
我觉得这是建议的方式之一。
【讨论】:
以上是关于如何在基于月份的 MySQL 填充数据后基于每日填充数据的主要内容,如果未能解决你的问题,请参考以下文章