我需要一些帮助来找出正确的 SQL 语句。
如果有一个具有以下结构的表:id、product_id、units、timestamp
我不想要一个包含每天所有单位的列表。一个产品每天最多有一条记录。所以我的第一次尝试是:
SELECT
DATE(timestamp) as day, SUM(units) as overall_units
FROM
tbl
GROUP BY
DATE(timestamp);
通常应该这样做。但有时也有没有产品记录的日子。尽管如此,这些单位仍在仓库中,因此它们应该在计算中。
例如:
我们有 3 种产品。汽车、钢笔和轮子。2012-10-20 的记录:
汽车 => 5 支笔 => 20 个轮子 => 4
2012 年 10 月 21 日的记录 汽车 => 5 个轮子 => 6
我的查询将给出以下结果:
2012-10-20 => 29
2012-10-21 => 11
但我想,如果当天没有产品记录,它应该使用该产品的记录,该记录是最接近时间的。
所以应该是:
2012-10-21 => 31
我希望你能理解我的需要。