【发布时间】:2014-06-20 05:00:13
【问题描述】:
我正在使用 mysql 并有一个记录库存订单的表。该表(简化)如下所示:
||id|ordered_date |Date |itemid| status ||
||1 |Jan-4 |Jan-4 | a | ordered ||
||2 |Jan-6 |Jan-6 | b | ordered ||
||3 |Jan-8 |Jan-8 | c | ordered ||
||4 |Jan-8 |Jan-9 | c | shipped ||
||4 |Jan-6 |Jan-9 | b | shipped ||
||4 |Jan-4 |Jan-10| a | shipped ||
我们想要的是每天尚未发货的订单总数,所以是这样的:
date | inventory
Jan-4 | 1
Jan-5 | 1
Jan-6 | 2
Jan-7 | 2
Jan-8 | 3
Jan-9 | 1
Jan-10| 0
我可以使用这样的查询找到任何一天的未发货订单总数:
select count(*) from inventory where
status = "Shipped" AND
date > "Jan-8" AND
ordered_date <= "Jan-8"
但我们需要所有天的订单数量。而上面的查询有个问题,就是找不到还没有发货的订单。因此,我们将不胜感激。
(假设日期列是有效的 SQL 日期)
【问题讨论】: