我试图根据星期几的&还小时一天在同一个语句的(这样我就可以看到我每小时超过一个星期有多少人访问了提取数据,以下声明。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,x,x],这将与24小时时间轴st相匹配从第一个输出创作出来,我需要缺失的那个为'0'。
虽然我可以在PHP端使用循环来处理它,但在每周的每一天都会循环使用它,因为每个小时都是相当烦人的,而且绝对不干净。
是否有可能没有临时表(如包括查询本身的24位数字?)?
虽然这可能在理论上回答这个问题,但[这将是更可取的](http://meta.stackexchange.com/q/8259)在这里包括答案的基本部分,并提供参考链接。 (另外:链接被破坏) – Nanne 2013-06-25 11:41:17