Необходимо запрашивать количество запросов в Mysql на основе интервалов дат

#mysql #laravel #laravel-4 #mysql-workbench

#mysql #laravel #laravel-4 #mysql-workbench

Вопрос:

Мне нужно отобразить линейный график в Morris js chart. В настоящее время я отображаю данные за неделю, начиная с текущей даты, и запрос Mysql, который я использую, является

 select count(*) from jobs  where corp_id = '.$this->user->corp_id.' and DATE(created_at)  = DATE_ADD(current_date(), INTERVAL -0 DAY) and job_status = 0 limit 1
select count(*) from jobs  where corp_id = '.$this->user->corp_id.' and DATE(created_at)  = DATE_ADD(current_date(), INTERVAL -1 DAY) and job_status = 0 limit 1
 

В настоящее время я пишу несколько запросов, повторяя запрос вручную, изменяя ИНТЕРВАЛ -0 ДНЕЙ на 1,2,3,4 и так далее и помещая их в единый набор результатов.Я отображаю даты по оси X на своей странице, самостоятельно присваивая значения оси x коду Morris js. Я использую PHP для этого. Теперь мне нужно обновить мою диаграмму с большей наглядностью, изменив период времени.

Результат нужен вот так

Есть ли какой-либо способ получить данные и, переключая вкладки, подобные этой, данные должны быть изменены в соответствии с выбранным временем. Даже мне нужен способ, если возможно, добавить даты вместе с результатом моего запроса, чтобы ось x динамически заполнялась из самих внутренних значений.

Я использую фреймворк PHP Laravel с MySQL в качестве базы данных. Даже запрос Laravel тоже хорош.

пробовал этот запрос, используя значение интервала 30 (для месяца)

 select count(*), DATE(created_at) from jobs where corp_id = 37 and DATE(created_at)  >= DATE_ADD(current_date(), INTERVAL -30 DAY) and job_status =0 group by DATE(created_at);
 

и получил это
введите описание изображения здесь

но я также должен получить даты, которые не дают результата, чтобы показать количество 0 с соответствующей датой.

Комментарии:

1. Глядя на ваш массив, у вас есть строка JSON с ключом 0, а не многомерный массив. Вам нужно json_decode строку, чтобы ссылаться на нее как на массив. Не полный ответ, но это проблема номер 1.