简体   繁体   English

如何在sql中获取百分比?

[英]How can I get percentage in sql?

[getPollResult]

@poll_form_id int

AS
BEGIN

SELECT a.question_id,a.title,COUNT(*) vote FROM tbl_poll_option a 
JOIN tbl_poll_answer b ON a.Id=b.option_id
JOIN tbl_poll_question c ON a.question_id=c.Id
WHERE poll_form_id=@poll_form_id GROUP BY a.title,a.question_id

END

I have a poll system. 我有一个投票系统。 I use this query to get count of every answer of question. 我使用此查询来获取每个问题答案的计数。 How can I get percentage of every answered option like this: 如何获得每个已回答选项的百分比,如下所示:

question 1 ---> option1=20.13 % ---> option2=79.87 % 问题1 ---> option1 = 20.13%---> option2 = 79.87%

question 2 ---> option3=100 % 问题2 ---> option3 = 100%

question 3 ---> option4=30 % ---> option5=70 % 问题3 ---> option4 = 30%---> option5 = 70%

.... ....

You can try following: 您可以尝试以下操作:

[getPollResult]

@poll_form_id int

AS
BEGIN

SELECT distinct a.question_id,a.title,COUNT(*) over(partition by a.question_id,a.title) / count(*) over(partition by a.question) as vote_percent
FROM tbl_poll_option a 
JOIN tbl_poll_answer b ON a.Id=b.option_id
JOIN tbl_poll_question c ON a.question_id=c.Id
WHERE poll_form_id=@poll_form_id

END

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM