嗨,我有一个名为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 bylimit

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/

10-14 00:21