SQL按费率总和查找ID

时间:2016-06-27 12:24:35

标签: mysql sql

嘿,我找不到我的问题的正确答案。 如果我有一张桌子:

  

DB:rate

1 id              int(11)     
2 type            varchar(256)    
3 candidate_id    int(11) 
4 data            text(rating data is inside here 1-10)

我想要所有Candidate_ids作为结果,其中平均速率是例如3的搜索字符串。我怎样才能实现这一点?我尝试了但是不能靠自己来做 每个候选人在DB中的记录超过5个:费率

id    type   candidate_id   data

 1    vote        5          10 
 2    vote        5           4    
 3    vote        4           4   
 4    vote        4           3    
 5    vote        5           8

2 个答案:

答案 0 :(得分:2)

假设我理解这个问题,我认为你正在寻找这样的事情:

SELECT candidate_id   
FROM TableName
GROUP BY candidate_id   
HAVING AVG(data) = 3

答案 1 :(得分:0)

你的问题有点难以理解。您希望所有候选人的平均费率为3,但您的表中没有列“费率” - 您的意思是“数据”吗?但是,如果我的问题是正确的,那么(!)以下内容应该可以解决问题:

SELECT Candidate_ID
FROM [RateTable]
GROUP BY Candidate_ID
HAVING Avg(rate) = 3