我目前的电影数据库的公平评级

时间:2016-09-15 18:32:04

标签: php mysql pdo rating

好的,希望我上一篇关于电影评级系统的帖子我正在尝试编程。感谢用户Asaph帮助我完成我的前五部电影。这是我的数据库布局:

  ID | UserID | Rating | TMDB |  TYPE
  -----------------------------------
   1      34        6     432      2
  -----------------------------------
   2      34        9     432      3
  -----------------------------------
   3      44        9     468      2

并使用这个sql我可以列出顶级gorey电影(类型2)

sql SELECT `tmdb`, AVG(rating) AS avg_rating
FROM `tbl_rating`
WHERE `type`= :type
GROUP BY `tmdb`
ORDER BY avg_rating DESC
LIMIT 5

现在我想知道有没有办法让我的电影结果更公平?

例如,movie123可能有5票,平均票数为7,电影456可能只有1票,但如果它高于7,则它将位于列表的顶部。我怎样才能让这更公平?也许以某种方式在组中进行最小数量的行?或任何其他方式?

再一次任何帮助都是惊人的!

1 个答案:

答案 0 :(得分:0)

好的我认为这就是我想要做的事情:)

$sql = 'SELECT `tmdb`, AVG(rate) AS avg_rating, COUNT(rate) AS min_count FROM `tbl_rating` WHERE `type`= :type GROUP BY `tmdb` HAVING min_count > 1 ORDER BY avg_rating DESC LIMIT 5';
如果有更好的方式随时让我知道,这似乎可以解决问题:)