Я пытаюсь извлечь данные в соответствии с Днем недели, а также Часом дня в одном и том же утверждении (чтобы я мог видеть, сколько посещений я получил за час и за неделю. Вот утверждение.
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
Проблема
Как вы можете видеть, данные отсутствуют в течение многих часов. И так как я создаю график, которому нужны данные в виде [x, x, x, x, x, x, x] для каждого дня, который будет сопоставлен с 24-часовой шкалой времени, начиная с первого вывода, мне нужно недостающие должны быть '0'.
Хотя я могу справиться с этим на стороне PHP с помощью циклов, зацикливание его для каждого дня недели и в течение этого каждого часа довольно утомительно и определенно не чисто.
Возможно ли это без временных таблиц (например, включая 24 цифры в самом запросе и т. Д.)?