嗨,我有一个名为rating的表格,结构如下
userId int,movieId int,评分编号,时间varchar
我必须以最高用户投票的最高评分来获取movieId,以获取经验
userId movieId评分时间
0001、3、5.0、2312345
0001、5、3.0、2312323
0001、7、4.0、2312124
0002、2、3.0、2312453
0002、3、5.0、2312323
0002、7、3.0、2315642
0003、3、5.0、2312764
0004、3、4.0、2312146
0004、7、3.0、2312321
此movieId 3中的投票被3位用户投票给5.0,这是最高评分,最多用户数。
我该如何使用sql查询
最佳答案
如果您要看一部电影,请进行汇总并使用order by
和limit
:
select movieId, rating, count(distinct userId) as NumUsers
from rating
group by movieId, rating
order by rating desc, NumUsers desc
limit 1;
关于mysql - 如何获取由最大用户数投票的最高评级MovieId,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25972390/