查看我的星级排名前十名

时间:2013-11-26 10:16:32

标签: php mysql

我有一个5星评级系统在我身边,我想查看前3名评价最高,我使用下面的SQL查询:

SELECT Ranking, Total_value FROM <Table> ORDER BY Rating DESC LIMIT 3;

但它没有显示前三名,它显示数字最高的3,如果10人投了一票,20人投了另一票,20票的票数最高,但没有必要具有最高评级,那么我如何将总票数除以总票数?所以它显示了排名最高的3

希望有人可以帮助我吗?并理解我的问题:)

2 个答案:

答案 0 :(得分:0)

您可以将Total_valueTotal_votes分开:

SELECT 
    Ranking, 
    Total_votes, 
    Total_value, 
    (Total_value / Total_votes) as `Average`
FROM
    Votes
ORDER BY
    (Total_value / Total_votes) DESC
LIMIT 10

答案 1 :(得分:0)

您必须在数据库中创建一个名为average的列。并在每次人们评分时更新平均值。然后使用查询
SELECT Ranking,Total_value FROM ORDER BY average_value DESC LIMIT 3;

相关问题