привет, я пытаюсь использовать график (https://developers.google.com/chart/interactive/docs/gallery/linechart) из диаграммы Google, и я не знаю запроса, чтобы узнать, сколько пациентов приходило в больницу каждый день в течение последних 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);
}
я получил код из документации Google, и я немного отредактировал его, чтобы соответствовать моей ситуации
из того, что я могу собрать, все, что вам нужно, это запрос, верно? Я предполагаю, что у вас есть метод для отправки запроса и получения данных.
в этом случае лучшим и простым решением будет простой запрос COUNT с некоторой группировкой.
SELECT COUNT(pName)
FROM pPatient
WHERE DATE(pDate) > CURDATE() - 30
если вы хотите, чтобы они были отсортированы по месяцу, дню и году, вы можете добавить это в конец. он перечислит их по сопоставленным датам, используя pDate в качестве аргумента для сопоставления с ними:
GROUP BY DATE(pDate)
Других решений пока нет …