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

fair rating for my current movie database

好的,希望我最后一次 post 关于我正在尝试编写的电影评级系统。感谢用户 Asaph 帮助我制作了前 5 部刺伤电影。这是我的数据库布局:

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

并使用这个 sql 我可以列出最热门的血腥电影(类型 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,而 movie456 可能只有 1 票,但如果超过 7,它将位于列表的顶部。我怎样才能使这更公平?也许以某种方式在组中做最少的行数?或任何其他方式?

再一次,任何帮助都很棒!

好的,我想这就是我想要做的:)

$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';

这似乎可以解决问题,如果有更好的方法请随时告诉我:)