Php MYSQL按喜欢/不喜欢和受欢迎程度排序

Php MYSQL按喜欢/不喜欢和受欢迎程度排序,php,html,mysql,sql,mysqli,Php,Html,Mysql,Sql,Mysqli,我有意见表,其中包括喜欢和不喜欢,现在我有问题,以适当的顺序 事实上,我的系统显示的评论上面有最多的喜欢 我在youtube上寻找类似系统的东西 这意味着带有100like/100dislikes的注释的顺序高于1/1 我希望这是可以理解的:)这是一个经典的问题,如何给上票/下票、加号/减号、喜欢/不喜欢等等排序。有几种可能的解决方案,但它们可能在特定条件下给出错误的结果 我强烈建议阅读并使用类似于 问题: 你需要某种“分数”来排序 错误的解决方案#1:分数=(正面评级)-(负面评级) 错误的解

我有意见表,其中包括喜欢和不喜欢,现在我有问题,以适当的顺序

事实上,我的系统显示的评论上面有最多的喜欢

我在youtube上寻找类似系统的东西

这意味着带有100like/100dislikes的注释的顺序高于1/1


我希望这是可以理解的:)

这是一个经典的问题,如何给上票/下票、加号/减号、喜欢/不喜欢等等排序。有几种可能的解决方案,但它们可能在特定条件下给出错误的结果

我强烈建议阅读并使用类似于

问题:

你需要某种“分数”来排序

错误的解决方案#1:分数=(正面评级)-(负面评级)

错误的解决方案#2:分数=平均评分=(正面评分)/ (总评级)

正确的解决方案:分数=威尔逊分数置信下限 贝努利参数的区间

示例代码(您可以根据自己的需要轻松调整):

你应该阅读和阅读
SELECT id, ((positive + 1.9208) / (positive + negative) - 
                1.96 * SQRT((positive * negative) / (positive + negative) + 0.9604) / 
                       (positive + negative)) / (1 + 3.8416 / (positive + negative)) 
       AS ci_lower_bound 
FROM your_tab 
WHERE positive + negative > 0 
ORDER BY ci_lower_bound DESC;