【发布时间】:2010-01-11 21:18:37
【问题描述】:
我正在使用 SQLite。
假设我有一张表 sales 有两列,date 和 count,以跟踪我在那个日期卖出了多少杯柠檬水。如果我在某一天不卖任何柠檬水,我会很沮丧,无法在 sales 表中创建新行。
我想了解在给定日期范围内售出的眼镜的平均数量。我可以发出这样的查询:
SELECT AVG(count) FROM sales WHERE date IS BETWEEN '2010-01-04' AND '2010-01-10';
但是,除非该范围内的所有日期都包含在表格中,否则结果将不准确。我需要一些方法来告诉 SQLite 将丢失的行计数为零。
我想如果我可以在某个日期范围内加入销售表,那将是理想的选择。这似乎是不可能的,因此从日期范围创建表格的简单方法可能是下一个最好的方法。我不想修改销售表,这对于柠檬水摊来说似乎很愚蠢,但在现实生活中更有意义。
正如我上面所说,我使用的是 SQLite,所以如果您向我推荐其他数据库,您将无济于事。也就是说,如果您对另一个数据库有更多经验并认为您的解决方案可以用普通 SQL 完成,我很乐意听到。
【问题讨论】:
-
你能谈谈范围吗?它应该是任意长度吗?还是有最大值?