【发布时间】:2016-12-17 20:52:46
【问题描述】:
如果我的问题无关紧要,我很抱歉。因为我不是mysql专家。
我的网站上有调查。如果有人投票给我的调查,我想向选民展示调查结果。
这是数据库结构;
surveys 表格(包括调查名称说明和survey_id)
survey_choices 表格(包括调查选择和与survey_id 相关的调查表格)
我正在尝试仅计算可见的调查选择百分比。
如果我只有 1 个调查,它计算的结果是正确的。但如果我有超过 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 %percentage = %100?
任何帮助将不胜感激。
【问题讨论】:
标签: mysql sum cross-join