--1000
select 商品,sum(结余数量) from 商品流水账 where 时间<='2015-5-1' group by 商品 having sum(结余数量)<>0
--1100
select 商品,sum(结余数量) from 商品流水账 where 时间<='2015-5-2' group by 商品 having sum(结余数量)<>0
--1050
select 商品,sum(结余数量) from 商品流水账 where 时间<='2015-5-3' group by 商品 having sum(结余数量)<>0
……
--900
select 商品,sum(结余数量) from 商品流水账 where 时间<='2015-5-31' group by 商品 having sum(结余数量)<>0
打个比方,5月份每天查询出的库存分别有1000、1100、1050、……900条记录,现在要统计这里面有哪些品种的在库时间是超过10天的,要怎样写语句?查询时间段是变量,感觉好复杂的样子。
------解决思路----------------------
写个存储过程,接受参数
开始日期,结束日期
创建个临时表
循环
把每天的 group by 结果插入到临时表中
最后,从临时表中 group by 商品 having count(1)>10
------解决思路----------------------
进出库明细表<>库存每日明细表
你需要有永久存在的库存每日明细表,不能动态算,数据量大了会跑不动的。
------解决思路----------------------
数据库就是用空间换时间。
一定的数据统计转换、统一化是必要的,千万不要在空间上吝啬。