嘿,我找不到我的问题的正确答案。 如果我有一张桌子:
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
答案 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