我有一个评级系统,其评级为1-5,然后增加投票数并增加评级总数。这对我的前5个排行榜来说是个问题,排行榜目前通过这个查询从MySQL数据库通过php web服务提供Xml:
FROM ratings ORDER BY totalRating DESC LIMIT 5
现在显然这不会起作用。
有没有办法通过noRating进行totalRating的分割,然后按顺序进行返回?
我试图将其保持在数据库级别。希望它是可能的。
编辑:
所以,让我们说我的表评级有两个记录:
Name | cRating | tRating //current number of ratings and total
Tv1 | 2 | 10
Tv2 | 3 | 9
我需要做tRating / cRating然后将它们排序到前5个节目
所需的结果是返回前5个平均评分结果(对于我手机上的可怕格式感到抱歉)
答案 0 :(得分:1)
您可以在order by
中使用算术表达式。所以这可能会做你想要的:
order by tRating / nullif(cRating, 0) desc