注册 登录
编程论坛 SQL Server论坛

发表得分占总发表得分的%,急!!!谢谢!

chmha 发布于 2008-07-03 23:51, 1089 次点击
姓名  得分  发表  占发表总分的%
小明   2   是   2/10=20%
小红   8   是   8/10=80%
小青   1   否   0/10=0


要求:读取发表中“是”的“得分”,占发表总分的百分比。

请各位高手帮忙解决一下,谢谢!!!!!!
7 回复
#2
jxyga1112008-07-04 11:07
select * from 表 where 发表=是
#3
chmha2008-07-04 11:15
谢谢!大哥。我要的是占%的代码
谢谢!大哥。我要的是占%的代码
#4
bygg2008-07-04 11:16
select convert(varchar(10),convert(decimal(18,2),(sum(case when 发表='是' then 1 else 0 end)+0.0)/count(*)))+'%' as '占发表总分的%'
from yourtable
#5
chmha2008-07-04 11:17
太感谢了,谢谢!我先支试一下。
太感谢了,谢谢!我先支试一下。
#6
chmha2008-07-04 20:29
(要显示的是占发表总分的百分比%)的代码
(要显示的是占发表总分的百分比%)的代码:::::
写“发表=是”小明的得分/除以“发表=是”的总得分(小明+小红)
就是占发表总分的百分比%
#7
chmha2008-07-04 20:32
这一段显示灰色+'%' as '占发表总分的%' from yourtable
select convert(varchar(10),convert(decimal(18,2),(sum(case when 发表='是' then 1 else 0 end)+0.0)/count(*)))+'%' as '占发表总分的%'
from yourtable
#8
bygg2008-07-07 09:45
select convert(varchar(10),sum(case when 姓名='小明' then 得分 else 0 end)) + '/' + convert(varchar(10),sum(case when 发表='是' then 得分 else 0 end))+ '='+ convert(varchar(10),convert(decimal(18),100 * (sum(case when 姓名='小明' then 得分 else 0 end))/(sum(case when 发表='是' then 得分 else 0 end))))+'%' as '占发表总分的%'
from yourtable
1