如何在基于月份的 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 填充数据后基于每日填充数据的主要内容,如果未能解决你的问题,请参考以下文章

Odoo中给字段填加唯一性约束

如何使用序列号自动填充列,但基于参数?

如何根据下拉选择填充强类型文本框

PowerShell脚本将所有旧文件存档在基于月份的目录中

基于mysql的单据号生成(前缀+日期+自增id+后缀)

java 基于excel模板文件,填充数据的思路