SQL / PHP获取过去30天的每日记录

时间:2017-08-15 16:42:49

标签: php sql google-visualization

您好我正在尝试使用谷歌图表中的折线图(https://tedvinke.wordpress.com/2014/02/13/mockito-why-you-should-not-use-injectmocks-annotation-to-autowire-fields/)并且我不知道查询以获取过去30天每天有多少患者进入医院以便我可以添加它在线图上的data.addrow 这是我的表格的样子:

pPatient

pName                 pDate
Sample Name           2017-08-15
Another Name          2017-08-15
Another Name Again    2017-08-15
Name Here             2017-08-14
Name Again            2017-08-13

我需要一个SQL查询,以便我可以动态更改折线图

google.charts.load('current', {packages: ['corechart', 'line']});
google.charts.setOnLoadCallback(drawBasic);

function drawBasic() {

      var data = new google.visualization.DataTable();
      data.addColumn('number', 'Day');
      data.addColumn('number', 'Patients');

      data.addRows([
       "the part where im having a problem"

      var options = {
        hAxis: {
          title: 'Day'
        },
        vAxis: {
          title: 'Number of Patients'
        }
      };

      var chart = new google.visualization.LineChart(document.getElementById('chart_div'));

      chart.draw(data, options);
    }

我从谷歌文档中获取了代码,我只是编辑了一下以适合我的情况

1 个答案:

答案 0 :(得分:0)

从我可以收集的内容中,您所需要的只是查询,对吗?我假设您有一种方法来发送查询并接收数据。

在这种情况下,最好和最简单的解决方案是使用某些分组进行简单的COUNT查询。

SELECT COUNT(pName)
FROM pPatient
WHERE DATE(pDate) > CURDATE() - 30

如果您希望按月,日和年对它们进行排序,则可以将其添加到最后。它将通过匹配日期列出它们,使用pDate作为参数来匹配它们:

GROUP BY DATE(pDate)