Mysql 按天列出的历史库存
我使用的是mysql,有一个记录库存订单的表。表(简化)如下所示:Mysql 按天列出的历史库存,mysql,sql,Mysql,Sql,我使用的是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
||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"
我们想要的是每天尚未发货的订单总数,如下所示:
||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"
我可以使用以下查询查找任意一天未发货订单的总数:
||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"
从库存中选择盘点(*),其中
status=“Shipped”和
日期>“1月8日”和
订购日期尝试以下方法:
SELECT date, COUNT(*)
FROM inventory
WHERE status != 'shipped'
GROUP BY date ORDER BY date;
真管用!比我想象的容易多了。我不知道我在想什么。谢谢