一、有一个生产周期表A,订单编号是唯一主键:
A01[天数] A02[订单日期] A03[订单编号]
------------------------------------------------------------
2 2014-08-01 S01
3 2014-07-08 S02
4 2014-07-11 S03
2 2014-07-20 S04
1 2014-08-02 S05
5 2014-07-14 S06
2 2014-06-21 S07
....
二、比如我要查询7月份【即订单日期在2014-07-01至2014-07-31】,各生产周期天数所占订单总数的百分比,把所有出现的天数所占的比例都从小到大罗列出来,得到如下结果:
周期天数 所占比例
-------------------------------------
1 ?%
2 ?%
3 ?%
...
------解决方案--------------------
select a01 周期天数,cast(100.0*a01/sum(a01) as varchar)+'%' 所占比例
from tbla
where convert(varchar(7),a02,120)='2014-07'
group by a01
------解决方案--------------------
你这样写有问题,得出的数据时100%
------解决方案--------------------
是的,应该这样
select a01 周期天数,cast(100.0*a01/(select sum(a01) from tbla
where convert(varchar(7),a02,120)='2014-07') as varchar)+'%' 所占比例
from tbla
where convert(varchar(7),a02,120)='2014-07'
group by a01