我正在尝试根据同一语句中的星期几和一天中的时间提取数据(这样我就可以看到我每小时和一周内获得了多少次访问。这是声明。
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 位数字等?)?