Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 按天列出的历史库存_Mysql_Sql - Fatal编程技术网

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

我使用的是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"
我们想要的是每天尚未发货的订单总数,如下所示:

||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;

真管用!比我想象的容易多了。我不知道我在想什么。谢谢