Php MYSQL根据评级逻辑和意见对内容进行排序?
我正在设计一个网站,不知道如何根据逻辑来评价系统 结果是,我希望一个拥有1000张选票的4颗星的项目比一个拥有5颗星选票的项目排名更高。然而,我不希望一个拥有1000票的1星项目比一个拥有200票的4星项目排名更高 有人对该怎么做有什么想法或建议吗 我发现了这两个问题Php MYSQL根据评级逻辑和意见对内容进行排序?,php,mysql,sorting,rating,Php,Mysql,Sorting,Rating,我正在设计一个网站,不知道如何根据逻辑来评价系统 结果是,我希望一个拥有1000张选票的4颗星的项目比一个拥有5颗星选票的项目排名更高。然而,我不希望一个拥有1000票的1星项目比一个拥有200票的4星项目排名更高 有人对该怎么做有什么想法或建议吗 我发现了这两个问题 他们也有自己的缺点,在第一个例子中,我不明白获胜者所说的“如果你有很多评分,出于性能原因,你可能想将这个评分值非规范化为活动。”是什么意思。请分享一些见解?谢谢大家! 下面是这样一个系统的简图,它通过定义奖金因子x来工作ₙ用于
他们也有自己的缺点,在第一个例子中,我不明白获胜者所说的“如果你有很多评分,出于性能原因,你可能想将这个评分值非规范化为活动。”是什么意思。请分享一些见解?谢谢大家! 下面是这样一个系统的简图,它通过定义奖金因子
x来工作ₙ代码>用于每个标志编号。根据您的问题,您需要:
x₄*4*1000 > x₅*1*5
及
x₁*1*1000
将系数设置为例如x₁=1
,x₄=2
和x₅=2
将满足这一要求,但您当然需要对其进行调整并添加缺失的因素。他的意思是,您应该将评级数据放入事件表中(因此有冗余数据),以优化其性能
有关反规范化,请参见wiki:
确定项目排名所需的数据如下:
- 平均评级
- 评级数目
困难的部分可能是制定排名规则。Like:如果某个项目的平均评分>4,且评分数<4,则将其视为3.9级
为了方便起见,我将把这个值(如何对待要排名的项目)放在项目表中。您应该从定义严格的正式规则开始,确定哪些项目的排名应该高于哪些项目。我知道这是一个相当广泛的问题,但我希望有人能告诉我是否有一个通用的公式,youtube或像deviantart这样的艺术网站正在使用。我觉得我只是缺乏知识,有些东西已经作为标准存在了。感谢您的关注和回复!那个么你们应该这样表述这个问题。没有这样的公式。每个大型站点都定义了自己的排序标准。
x₁*1*1000 < x₄*4*200