Я пытаюсь извлечь данные в соответствии с днем недели & также часа дня в том же заявлении (так что я могу видеть, сколько посещений я в час и в течение недели. Вот заявление.MySQL, как заполнить отсутствующие часы/даты в диапазоне?
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] для каждого дня, который будет соответствовать 24-часовой временной шкале st начиная с первого выхода, мне нужно, чтобы отсутствующие были «0».
В то время как я могу обработать его на PHP-конце с помощью циклов, зацикливая его на каждый день недели & внутри этого, на каждый час, довольно утомительно и определенно не чист.
Возможно ли это без временных таблиц (например, включая 24 цифры в самом запросе и т. Д.?)?
Хотя это теоретически может ответить на вопрос, [было бы предпочтительно] (http://meta.stackexchange.com/q/8259) включить сюда основные части ответа и предоставить ссылку для справки. (также: ссылка сломана) – Nanne