我正在使用SQLite。SQLite查詢加入一系列日期?
假設我有一個表sales
,有兩欄,date
和count
,用來跟蹤我當天銷售多少杯檸檬水。如果我不在特定的日子賣任何檸檬水,我很沮喪,不能在sales
表中創建一個新的行。
我想知道給定日期範圍內平均銷售的眼鏡數量。我可以發出如下查詢:
SELECT AVG(count) FROM sales WHERE date IS BETWEEN '2010-01-04' AND '2010-01-10';
但是,除非該範圍內的所有日期都包含在表中,否則結果將不準確。我需要一些方法告訴SQLite將丟失的行數作爲零。
我想如果我可以加入日期範圍內的銷售表,那將是理想的。這看起來不太可能,所以從日期範圍創建表的簡單方法可能是下一個最好的事情。我不想修改銷售表,這對於檸檬水攤來說顯得很愚蠢,但是在現實生活中卻更有意義。
正如我上面所說的,我使用的是SQLite,所以如果您向我推薦其他數據庫,那麼您將不會很有幫助。也就是說,如果你對另一個數據庫有更多的經驗,並且認爲你的解決方案可以在vanilla SQL中完成,我很樂意聽到它。
你可以說什麼關於範圍?它應該是任意長度嗎?或者有最大值? – 2010-01-11 21:31:08