我已经问过类似的问题,但我似乎仍然无法让我的头在附近。我有我的SQL数据库缺少范围mysql中的缺失值
2015-07-14 12:35:19
2015-07-15 12:45:37
2015-07-15 12:45:37
2015-07-16 12:35:37
2015-08-14 10:35:21
2015-08-14 12:15:36
我聚集在几个星期这些日期值的列DEVICE_CREATE_DATE,但也有在几个星期,在那里我想这些值刚好等于0,这样我可以主持人它们之间的遗漏值与其他指标在Excel表中。我创建了一个虚拟表“日期”来加入这些值,以便选择在没有值的情况下返回0。
这里是我使用的查询,
select date.year, week(device.device_create_date), count(*)
from device
join date
on date.week_of_year=week(device.device_create_date)
where device.id_customer = 1
group by device.year, date.WEEK_OF_YEAR
order by device.year, date.week_of_year;
这是我回来后,
2010 26 7252
2010 31 3108
2010 45 7203
2010 1 9324
2010 2 7252
2010 3 2072
这是我希望它给我回什么;
2010 1 9324
2010 2 7252
2010 3 2072
2010 4 0
2010 5 0
2010 6 0
etc
顺便说一句,这些值似乎没有被任何匹配的数据库上的算的,所以我有点知道我在做什么完全错误的,但我不伟大在这个所以任何帮助和指导将不胜赞赏。
预先感谢您!
我们需要'device'的结构.. –
在这种情况下使用正确的连接,而不是内部连接。此外,如果您有多年的数据,那么您需要在日期表中使用年份和星期,并加入两者。 – Shadow