Php 排名

Php 排名,php,Php,我有一个新闻系统,你可以用1到5颗星来评价新闻。在数据库中,我将计数、总和和绝对评级保存为int-to-100(对于html输出,5星为100,1星为20%)。 现在,我有三个榜单: 最佳评级 最受欢迎 评论最多的 最后两个很简单,但第一个有点棘手。 在我接管这件事之前,一切都是一团糟,他们只是把5条收视率最高的新闻放在那里,所以事实上,如果有一条新闻的收视率为4.995,有10万张选票,另一条新闻的1票为5颗星,那么“收视率更高”的新闻就在榜首,即使这很荒谬。 我第一次在名单上加了个上限,这样

我有一个新闻系统,你可以用1到5颗星来评价新闻。在数据库中,我将计数、总和和绝对评级保存为int-to-100(对于html输出,5星为100,1星为20%)。 现在,我有三个榜单: 最佳评级 最受欢迎 评论最多的

最后两个很简单,但第一个有点棘手。 在我接管这件事之前,一切都是一团糟,他们只是把5条收视率最高的新闻放在那里,所以事实上,如果有一条新闻的收视率为4.995,有10万张选票,另一条新闻的1票为5颗星,那么“收视率更高”的新闻就在榜首,即使这很荒谬。 我第一次在名单上加了个上限,这样只有获得一定票数(比如10票或20票)的新闻才能出现在名单上


但我真的不喜欢这样。有没有一个好的方法来衡量这些东西通过计数或类似的方法?

您可以根据收到的所有参赛作品的平均评分和所有选票的标准差来探索评分的统计置信度。虽然一个参赛作品的平均评分为5,但如果您只有几张选票,那么您可能无法以超过90%的置信度说:实际评分高于4.7分。然后,您可以根据您有90%信心的评分对条目进行评分


我不确定这是否满足您简单的要求。

您考虑过使用a吗?它将根据投票数和投票值本身对结果进行加权。

您可以使用用户评分的中位数作为总评分。 eatch article有五个字段,每个字段包含文章被评为n星的次数。然后选择所有这些字段中值最大的字段,这就是您的评级。它的优点是忽略评级中的异常值