如何获取最大评级MovieId由最大用户数投票

时间:2014-09-22 10:55:05

标签: mysql sql

您好我有一个名为rating的表格,结构如下

userId int,movieId int,rating number,time varchar

我需要获取最大用户投票的movieId,对于exp

userId  movieId  rating time
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

在这部电影中,3个用户被5.0个用户投票,这是最大用户数的最高评级。

如何使用sql查询

执行此操作

2 个答案:

答案 0 :(得分:2)

如果您想要一部电影,请进行汇总并使用order bylimit

select movieId, rating, count(distinct userId) as NumUsers
from rating
group by movieId, rating
order by rating desc, NumUsers desc
limit 1;

答案 1 :(得分:0)

如何使用此查询:

SELECT movieId, rating, count(distinct userId) votecount
from rating
group by movieId, rating

这里,谁拥有最高票数,赢了。