我已經問過類似的問題,但我似乎仍然無法讓我的頭在附近。我有我的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