2016-12-17 8 views
0

Прошу прощения, если мой вопрос неактуальен. Потому что я не специалист по mysql.Mysql Рассчитать процент выделенных строк

У меня есть опросы на моем сайте. Если кто-то проголосует за мой опрос, я хочу показать результаты опроса избирателю.

Вот структура БД;

surveysТаблица (Включает в себя обследование Имя Описание и survey_id)

Surveys

survey_choicesТаблица (Включенные Survey Chocies и связанной с survey_id к Surveys таблице)

Survey Choices

Я пытаюсь рассчитать только видимые варианты опроса% процентов.

Если у меня есть только 1 опрос, он вычисляет правильные результаты. Но если у меня более одного опроса, mysql вычисляет целые значения survey_vote_count всей таблицы.

Вот мой запрос MySQL;

SELECT 
survey_vote_id, survey_vote_name, survey_vote_count, survey_id, 
survey_vote_count * 100/t.s AS survey_percentage 
FROM survey_votes 
CROSS JOIN (SELECT SUM(survey_vote_count) AS s FROM survey_votes) t 
WHERE visibility = :visibility 
AND survey_id = :surveyId 
ORDER BY `survey_votes`.`order_id` ASC 

Как я могу рассчитывать на, например, только survey_id = 1 and visibility = 1% процент =% 100?

Любая помощь будет очень полезна.

ответ

1

Вы должны добавить такое же условие к своему кресту. На данный момент в вашем выборе вы суммируете все survey_vote_count без того же условия (видимость и survey_id.

+0

Привет, спасибо за ваш ответ. Но как? SELECT SUM (survey_vote_count) AS s FROM survey_votes WHERE survey_id = surveyId И видимость =: visibility'? – HddnTHA

+0

Выглядит правильно. – TigOldBitties

+0

Это сработало, большое вам спасибо (: – HddnTHA

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

  • Нет связанных вопросов^_^