日期:2014-05-18  浏览次数:20546 次

在线求助-分组查询的问题
我有一张进行用户调查投票的表,其结构如下:
surveyname(调查的内容 如网站有那些不如)
options(调查内容的某一选项 如风格fg )
votes(些选项所得的票数)
现在如下的数据
surveyname options votes
本站还有哪些不足 fg 123
本站还有哪些不足 gn 343
本站还有哪些不足 nr 454
本站还有哪些不足 ym 334

怎样按调查的内容和选项分组查询,并查出每个选项的百分比,其形式如下:
surveyname options votes bfb(百分比)
本站还有哪些不足 fg 123 **%
本站还有哪些不足 gn 343 **%
本站还有哪些不足 nr 454 **%
本站还有哪些不足 ym 334 **%

在线请高手帮我解答!

------解决方案--------------------
declare @a table(surveyname varchar(50), options varchar(20) ,votes int)
insert @a select '本站还有哪些不足' , 'fg' , 123 
union all select '本站还有哪些不足' , 'gn ' , 343 
 union all select '本站还有哪些不足' , ' nr' , 454
union all select '本站还有哪些不足' , 'ym', 334 

select *,rtrim(votes*100/(select sum(votes)from @a))+'%' as [bfb(百分比)] from @a
 
------解决方案--------------------

declare @a table(surveyname varchar(50), options varchar(20) ,votes int) 
insert @a select '本站还有哪些不足 ' , 'fg ' , 123
union all select '本站还有哪些不足 ' , 'gn ' , 343
 union all select '本站还有哪些不足 ' , ' nr ' , 454
union all select '本站还有哪些不足 ' , 'ym ', 334
select *,cast(round(rtrim(votes*100.0/(select sum(votes)from @a)),2) as varchar(20))+ '% ' as [bfb(百分比)] from @a