使用 MySQL 为 HighCharts 每月格式化 JSON 数据

     2023-02-24     197

关键词:

【中文标题】使用 MySQL 为 HighCharts 每月格式化 JSON 数据【英文标题】:Formatting JSON data monthwise for HighCharts using MySQL 【发布时间】:2015-08-06 20:28:39 【问题描述】:

有两张桌子。 第一张表显示了一名护士手下的孕妇人数。请记住,有许多护士隶属于一名医生。每个孕妇映射到一个护士,每个护士映射到一个医生。所以层次结构是

孕妇-->护士-->医生 .

现在,每个孕妇都有一个登记日期。

第二张表显示了护士到医生的映射。

现在,我的查询应该按月(从 1 月到 12 月)为每个医生获取医生的详细信息和孕妇注册订单的数量。所以我的最终结果应该是 JSON 格式,如下所示。 HighCharts 我需要这种格式。

如果某个月份没有孕妇,则应返回 0

[
        name: 'Doctor ID',
        data: [7.0(Jan), 6.9(Feb), 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3,   13.9, 9.6(Dec)],

       name: 'Doctor ID 2',
        data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
    , 
        name: 'Doctor Id 3',
         data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
    ]

我已经尝试了以下查询,但是当涉及到 Months 时,我无法创建结构。

SELECT preg_reg_other.preg_id,nurse_dets.doctor_id,preg_reg_other.reg_date
from preg_reg_other,nurse_dets
where preg_reg_other.nurse_id = nurse_dets.nurse_id
and preg_reg_other.reg_date is not null
and nurse_dets.doctor_id= 1031
order by preg_reg_other.reg_date asc

编辑

两张表如下

表 1:nurse_dets

nurse_id  population  doctor_id nurse_name

表 2:preg_reg_other

preg_id  nurse_id  reg_date  

【问题讨论】:

你能描述一下你的桌子吗 @Joe_Tz 检查表列名称的编辑部分,希望这会有所帮助:) 请查看此链接***.com/questions/14019964/… 谢谢@Joe_Tz。但是,这并没有解决我的问题。你能说得更具体点吗? 【参考方案1】:

我会这样做:

为每个医生做这样的查询:

/* get all pregrant women for a doctor, group by month and count records */
SELECT MONTH( p.reg_date ), COUNT(*) 
FROM nurse_dets n
INNER JOIN preg_reg_other p 
    ON n.nurse_id = p.nurse_id 
WHERE n.doctor_id = 1301
AND n.reg_date IS NOT NULL
GROUP BY MONTH( p.reg_date )
ORDER BY p.reg_date ASC

这将为您提供每个月与 ID 为 1301 的医生相关的孕妇人数

现在,您可以为每位医生进行这样的查询,并在每次迭代中为您的图表构建不同的系列

最后,您会将所有系列数组传递给您的客户端并获取 highcharts 的数据

编辑

在没有孕妇的月份中获取 0 的值稍微复杂一些,因为如果没有至少一条记录可计数,group by 不会返回任何值。试试这个方法:

SELECT months.num, COUNT( p.preg_id )
FROM 
   ( SELECT 1 AS num
     UNION ALL SELECT 2 
     UNION ALL SELECT 3 
     UNION ALL SELECT 4 
     UNION ALL SELECT 5  
     UNION ALL SELECT 6 
     UNION ALL SELECT 7  
     UNION ALL SELECT 8 
     UNION ALL SELECT 9  
     UNION ALL SELECT 10
     UNION ALL SELECT 11  
     UNION ALL SELECT 12 ) months
LEFT JOIN preg_reg_other p 
    ON months.num = MONTH ( p.reg_date )
INNER JOIN nurse_dets n
    ON n.nurse_id = p.nurse_id
WHERE n.doctor_id = 1301    
GROUP BY MONTH( months.num )
ORDER BY months.num ASC

首先我们手动建一个12个月的表,和其他表“左连接”,所以如果没有任何记录,最终计数应该是0

我没有测试过这个查询,但我希望你明白

【讨论】:

该查询运行良好,只是对于孕妇人数为“0”的月份的条目,该表没有输出任何值。你能帮我解决这个问题吗

使用 PHP/MySQL 的 highcharts 的 Json 结构

】使用PHP/MySQL的highcharts的Json结构【英文标题】:JsonstructureforhighchartswithPHP/MySQL【发布时间】:2018-01-0303:31:00【问题描述】:我想检索用于运行Highcharts图形(demonstrationsitehere)的相同JSON结构:?\'([[Date.UTC(2013,5,2),0.7695],[Date.UTC(2013,5,3... 查看详情

Highcharts & Mysql [关闭]

】Highcharts&Mysql[关闭]【英文标题】:Highcharts&Mysql[closed]【发布时间】:2011-04-1223:23:26【问题描述】:我需要有关此代码的帮助,我设法从mysql数据库中提取数据并将它们转换为Highcharts所需的格式。<?php$query=mysql_query("select... 查看详情

Highcharts 动态图表(按一定时间间隔更新) PHP+MySql 示例

】Highcharts动态图表(按一定时间间隔更新)PHP+MySql示例【英文标题】:HighchartsDynamicChart(Updatingovercertaininterval)PHP+MySqlExample【发布时间】:2013-05-0814:20:32【问题描述】:我正在尝试使用this演示使其与PHP和MySql一起使用,以便在一... 查看详情

使用 MySQL 计算两个表之间的每月用户分数?

】使用MySQL计算两个表之间的每月用户分数?【英文标题】:CalculatemonthlyuserscoresbetweentwotablesusingMySQL?【发布时间】:2012-06-1814:41:50【问题描述】:我在***上找到了很多有用的信息,但是仍然缺少一点点来解决以下问题:我有两... 查看详情

highcharts+nodejs搭建数据可视化平台

前一段时间完成了一个数据可视化项目,由后台NodeJS+Highcharts框架进行搭建。下面分享一下整个开发过程的流程,以及使用Highcharts框架的经验。一、数据的读取    由于数据库使用的是Mysql数据库,在NodeJS中,可... 查看详情

Highcharts Mysql Json 数组 PHP

】HighchartsMysqlJson数组PHP【英文标题】:HighchartsMysqlJsonarraysPHP【发布时间】:2018-03-2301:45:00【问题描述】:我正在尝试为我的highchart散点图获取正确的Json输出,请参阅example。我想要的Json输出:["name":"Female","color":"red","data":["name":... 查看详情

在页面上将 Highcharts 画布渲染为 PNG

】在页面上将Highcharts画布渲染为PNG【英文标题】:RenderHighchartscanvasasaPNGonthepage【发布时间】:2012-02-1804:36:51【问题描述】:我正在使用HighCharts库来生成一些动态图表。但是,我想将HighCharts画布元素呈现为PNG图像,以便用户可... 查看详情

在 jsp 页面上显示来自 mysql 数据库的 Highcharts 数据

】在jsp页面上显示来自mysql数据库的Highcharts数据【英文标题】:DisplayHighchartsdatafrommysqldatabaseonjsppage【发布时间】:2012-06-1109:53:22【问题描述】:我想使用Highcharts(主/详细示例)在.jsp页面中显示数据。数据将从mysql数据库动态... 查看详情

将 Highcharts 导出为 PDF(使用 javascript 和本地服务器 - 没有互联网连接)

】将Highcharts导出为PDF(使用javascript和本地服务器-没有互联网连接)【英文标题】:ExportHighchartstoPDF(usingjavascriptandlocalserver-nointernetconnection)【发布时间】:2014-10-2703:45:44【问题描述】:我在我的应用程序中使用Highcharts(没有任... 查看详情

Highcharts / JavaScript 月与 MySQL 不兼容

】Highcharts/JavaScript月与MySQL不兼容【英文标题】:Highcharts/JavaScriptmonthisincompatiblewithMySQL【发布时间】:2021-01-1502:25:50【问题描述】:我正在尝试擦干我地下室的墙壁。为此,我有两个比重计(一个在地下室里面,一个在外面)。... 查看详情

highcharts图表插件的简单使用说明

     Highcharts图表控件是眼下使用最为广泛的图表控件。本文将从零開始逐步为你介绍Highcharts图表控件。通过本文。你将学会怎样配置Highcharts以及动态生成Highchart图表。     Highcharts是一个很... 查看详情

Highcharts 定制 PHP/MySQL

】Highcharts定制PHP/MySQL【英文标题】:HighchartscustomizationPHP/MySQL【发布时间】:2012-04-2211:38:25【问题描述】:我正在尝试自定义图表并向我们的客户提供演示以供他们批准。我们现在面临的一些最终问题是,问题:在柱状图的高图... 查看详情

使用 Pandas 将每日数据重新采样为每月(日期格式)

】使用Pandas将每日数据重新采样为每月(日期格式)【英文标题】:ResampleDailyDatatoMonthlywithPandas(dateformatting)【发布时间】:2022-01-2210:39:28【问题描述】:我正在尝试在PandasDataFrame中从每日到每月重新采样一些数据。我是pandas的... 查看详情

渲染 Highcharts 的问题 - 通过 PHP/MySQL 填充

】渲染Highcharts的问题-通过PHP/MySQL填充【英文标题】:IssuesRenderingHighcharts-PopulatingthroughPHP/MySQL【发布时间】:2012-07-1305:37:59【问题描述】:我希望有人可以在这里帮助我,我一直在看highcharts作为从我的sqldb中绘制动态数据的一种... 查看详情

highcharts环境配置

Highcharts环境配置本章节我们将为大家介绍如何在网页中使用Highcharts。Highcharts依赖于jQuery,所以在加载Highcharts前必须先加载jQuery库。如果你对jQuery不熟悉,可以参阅本站的jQuery教程。安装jQueryjQuery安装可以使用以下两种方式:1... 查看详情

如何使用 R 将我的每日日期列分组为每月日期?

】如何使用R将我的每日日期列分组为每月日期?【英文标题】:HowcanIgroupmydailydatecolumnintomonthlydatewithR?【发布时间】:2021-01-2621:59:52【问题描述】:我有一个名为Police_notifications的数据框,这就是它的样子。datum106-03-201911:34:57206-... 查看详情

如何使用数组 C# 将每月降雨量输出为“*”?

】如何使用数组C#将每月降雨量输出为“*”?【英文标题】:HowdoIoutputmonthlyrainfallas"*"usingarraysC#?【发布时间】:2021-12-0421:52:38【问题描述】:我创建了一个程序,允许用户输入一年中的降雨量。然后,该程序旨在输出图... 查看详情

如何使用 `tempdisagg` 包中的 `td` 命令将每月数据分解为每日数据频率?

】如何使用`tempdisagg`包中的`td`命令将每月数据分解为每日数据频率?【英文标题】:HowcanIusethe`td`commandfromthe`tempdisagg`packagetodisaggregatemonthlydataintodailydatafrequency?【发布时间】:2020-04-1212:27:54【问题描述】:我有一个每月频率数据... 查看详情