日期:2014-05-17  浏览次数:20527 次

百分比sql 语句 。


如图所示


我想要得到这样的结果:

按照  week  分组

要得到以下的结果


每个周 下面的   每个 COEE  占    每个周  总的 COEE的  百分比
                                     
                                            
------解决方案--------------------

create table #tmp(resourceid varchar(30) ,ResourceName varchar(20),Model varchar(20),MfgWeek int ,dataTime decimal(18,2),CoeeGroup varchar(20))
insert into #tmp
select '1101260000010000001','TTU-02','UltraFlex',1,10080,'IDLE' UNION ALL
select '1101260000010000001','TTU-02','UltraFlex',10,535.74,'DOWN' UNION ALL
select '1101260000010000001','TTU-02','UltraFlex',10,1.83,'ENGR' UNION ALL
select '1101260000010000001','TTU-02','UltraFlex',10,5405.1,'IDLE' UNION ALL
select '1101260000010000001','TTU-02','UltraFlex',10,3215.85,'PROD(Charge)' UNION ALL
select '1101260000010000001','TTU-02','UltraFlex',10,919.82,'PROD(Non-Charge)' UNION ALL
select '1101260000010000001','TTU-02','UltraFlex',10,1.67,'IDLE' UNION ALL
select '1101260000010000001','TTU-02','UltraFlex',11,10080,'IDLE' 
--drop table #tmp
--select * from #tmp
select a.resourceid,a.resourcename,a.model,a.mfgweek,cast (datatime/dall as decimal(18,4)) averg,coeegroup from #tmp a,
(
select mfgweek,sum(datatime) dall
from #tmp
group by mfgweek)b
where a.mfgweek=b.mfgweek

希望对你有帮助