使用sql语句计算百分比
使得SA/TotelTime,SB/TotelTime,SC/TotelTime,SD/TotelTime,SE/TotelTime得出每个的百分比...
使得SA/TotelTime ,SB/TotelTime ,SC/TotelTime ,SD/TotelTime ,SE/TotelTime
得出每个的百分比 展开
得出每个的百分比 展开
4个回答
展开全部
1、若针对每行求百分比: select SA/TotelTime ,SB/TotelTime ,SC/TotelTime ,SD/TotelTime ,SE/TotelTime from 表名 。
2、若是对总计后的值求百分比: select sum(SA)/sum(TotelTime) ,sum(SB)/sum(TotelTime) ,sum(SC)/sum(TotelTime) ,sum(SD)/sum(TotelTime) ,sum(SE)/sum(TotelTime) from 表名
3、当然,以上都是以小数形式显示结果,若要以百分比形式显示结果:乘以100,并保留两位小数,然后加上“%”即可。
如:round((SA/TotelTime)*100,2) & "%"
select mz as '民族',count(*) as '人数',SUBSTRING (convert(varchar (20),
(count(*)/80.00*100) ),1,4)+'%' as '比例' from ryxx group by mz
展开全部
有点不明白
1、若针对每行求百分比:
select SA/TotelTime ,SB/TotelTime ,SC/TotelTime ,SD/TotelTime ,SE/TotelTime from 表名
2、若是对总计后的值求百分比:
select sum(SA)/sum(TotelTime) ,sum(SB)/sum(TotelTime) ,sum(SC)/sum(TotelTime) ,sum(SD)/sum(TotelTime) ,sum(SE)/sum(TotelTime) from 表名
3、当然,以上都是以小数形式显示结果,若要以百分比形式显示结果:乘以100,并保留两位小数,然后加上“%”即可。
如:round((SA/TotelTime)*100,2) & "%"
1、若针对每行求百分比:
select SA/TotelTime ,SB/TotelTime ,SC/TotelTime ,SD/TotelTime ,SE/TotelTime from 表名
2、若是对总计后的值求百分比:
select sum(SA)/sum(TotelTime) ,sum(SB)/sum(TotelTime) ,sum(SC)/sum(TotelTime) ,sum(SD)/sum(TotelTime) ,sum(SE)/sum(TotelTime) from 表名
3、当然,以上都是以小数形式显示结果,若要以百分比形式显示结果:乘以100,并保留两位小数,然后加上“%”即可。
如:round((SA/TotelTime)*100,2) & "%"
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
注意%的格式问题:一般使用:
select
case when sum(TotelTime) = '0' then '-' else to_char((sum(SA)/sum(TotelTime))*100,'fm99999990.00')||'%'
from table
where ...
每一个百分比的计算都依此转化即可
select
case when sum(TotelTime) = '0' then '-' else to_char((sum(SA)/sum(TotelTime))*100,'fm99999990.00')||'%'
from table
where ...
每一个百分比的计算都依此转化即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
发表结构看看。
追问
图片上就是表的一部分啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |