Mysql连接计算

时间:2011-08-18 10:10:18

标签: mysql sql

所以我正在尝试计算这个基于各种子查询对结果进行排序的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%。

1 个答案:

答案 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及其相应百分比的列表。