Я пытаюсь извлечь данные в соответствии с днем недели, а также с часом дня в том же заявлении (чтобы я мог видеть, сколько посещений я получил в час и за неделю. Вот заявление.
SELECT
count(id) as count,
HOUR(created) as hour_of_day,
WEEKDAY(created) as day_of_week,
DATE_FORMAT(created,'%W') name_of_day
FROM visitors
GROUP BY day_of_week,hour_of_day
ORDER BY day_of_week,hour_of_day ASC
Некоторые примеры данных
count hour_of_day day_of_week name_of_day
2 0 0 Monday
1 1 0 Monday
1 4 0 Monday
4 5 0 Monday
1 6 0 Monday
4 7 0 Monday
1 9 0 Monday
1 10 0 Monday
1 12 0 Monday
1 13 0 Monday
2 16 0 Monday
5 18 0 Monday
5 19 0 Monday
Проблема Как видите, в data отсутствуют данные за много часов. И поскольку я создаю график, которому нужны данные в форме [x,x,x,x,x,x,x] для каждого дня, которые будут сопоставляться с 24-часовой шкалой времени, начиная с первого вывода, мне нужно отсутствующие равны «0».
Хотя я могу справиться с этим на стороне PHP с помощью циклов, зацикливать его для каждого дня недели и в течение этого времени для каждого часа довольно утомительно и определенно не чисто.
Возможно ли это без временных таблиц (например, с включением 24 цифр в сам запрос и т. д.?)?