所以我正在尝试计算这个基于各种子查询对结果进行排序的mysql查询。
表格设计
Reports
--------
report_id
title
Voting
--------
report_id
user_id
vote_id //This can be 1-6
所以我在搜索报告表但想要在连接中包含一定比例的vote_id。
因为vote_id可以是不同的类型,我需要计算该事件与其他投票相比的百分比,然后按该百分比排序。
示例1 - 报告1有四票(vote_id的1,1,2,3),所以如果我搜索的是vote_id 1,它会上升50%。
示例2 - 如果我正在搜索vote_id 3,则会出现25%。
答案 0 :(得分:0)
SELECT vote_id,
( COUNT(*) / (SELECT COUNT(*) FROM Voting WHERE report_id = 1) ) * 100 AS percentage
FROM Voting WHERE report_id = 1
GROUP BY vote_id
这将为您提供报告1中所有vote_id及其相应百分比的列表。