分类汇总的问题
现在我需要统计所有的物料中,日期最新的单价
字段分别是物料编码\单价\日期
本来想
select 物料编码,单价,max(日期) from icstockbill
group by 物料编码,单价
但是单价各有不同,统计出来以后一各物料有好几个最新单价,怎么能分开啊
还有一个特殊的问题,就是要统计所有的物料中,日期最新的三个单价
这个始终也没考虑好如何实现?
哪个大哥给看看
------解决方案--------------------select * from icstockbill a where (select count(*) from icstockbill where 物料编码=a.物料编码 and 日期> a.日期) <3 order by 物料编码
------解决方案--------------------select 物料编码,单价,日期 from icstockbill as a
where
not exists(select 1 from icstockbill where 物料编码=a.物料编码 and 日期 <a.日期)
------解决方案--------------------select 物料编码,单价,日期 from icstockbill as a
where
(select count(1) from icstockbill where 物料编码=a.物料编码 and 日期> a.日期) <3
------解决方案--------------------1、
select
i.*
from
icstockbill i
where
not exists(select 1 from icstockbill where 物料编码=i.物料编码 and 日期> t.日期)
2、
select
i.*
from
icstockbill i
where
i.日期 in(select top 3 日期 from icstockbill where 物料编码=i.物料编码 order by 日期 desc)