2016-01-27 3 views
1
[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 [email protected]_form_id GROUP BY a.title,a.question_id 

END 

У меня есть система опроса. Я использую этот запрос, чтобы получить количество ответов на каждый ответ. Как я могу получить процент от каждого варианта ответили, как это:Как я могу получить процент в sql?

вопрос 1 ---> option1 = 20,13% ---> option2 = 79,87%

вопрос 2 ---> OPTION3 = 100%

вопрос 3 ---> ОПЦИЯ4 = 30% ---> option5 = 70%

....

+0

Структура таблицы поможет нам .. обновите свой ответ. Что такое название и что является идентификатором вопроса? в каком столбце указывается, какой ответ он выбрал? – sagi

ответ

0

Вы можете попробовать:

[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 [email protected]_form_id 

END 
Смежные вопросы