sql中周汇总列显示应该怎么做呢 ?


数据时行数据
2011-01-01 铜 30吨
2011-01-02 铁 40吨 
2011-01-02 铜 10吨
2011-01-03 铁 20吨 
2011-01-03 铜 30吨
2011-01-04 铁 40吨

怎么按周来汇总呢 ?

查询条件 2010-01-01至 2010-01-31

物料名称 ,01.01-01.07 , 01.08-01.09 ,...... , 合计
铜 100 0 100
铁 100 0

作者: ggt87125   发布时间: 2011-06-16

SQL code
;with cte as(
select dateadd(d,number,'2011-01-01') dt,datepart(wk,dateadd(d,number,'2011-01-01'))wk
from master..spt_values where type='p' and dateadd(d,number,'2011-01-01')<'2011-01-31'
)select a.物料名称,b.wk as 周次,sum(a.重量) 
from yourtb a inner join cte b on a.dt=b.dt
group by a.物料名称,b.wk
--再进行行转列.

作者: qianjin036a   发布时间: 2011-06-16

SQL code
select 物料名称,min(date)+'-'+max(date),sum(重量) from tb
group by 物料名称,(day(date)-1)/7
--再行专列

作者: zy112429   发布时间: 2011-06-16