日期:2014-05-16  浏览次数:20743 次

占比的统计
比如有个表:
分类 名称 数量
A类 a 17
A类 b 2
B类 c 5
A类 a 2
A类 a 7
A类 b 12
B类 c 11

如何才能统计出如下结果
分类 名称 数量 占分类比 占总数比
A类 a 26 65% 46.43%
A类 b 14 35% 25%
B类 c 16 100% 28.57%

谢谢各位高手帮助

------解决方案--------------------
select A.分类,A.名称,sum(A.数量)/(select sum(数量) from tb),sum(数量)/(select sum(数量) from tb where A.分类=分类)
from tb A
group by A.分类,A.名称
------解决方案--------------------
---a是取表的别名
select 分类,名称,sum(数量),
sum(数量)/(select sum(数量) from 比如有个表 where 分类=a.分类) as 占分类比,
sum(数量)/(select sum(数量) from 比如有个表) as 占总数比
from tb a
group by 分类,名称