好吧,所以我得到了2张桌子。一个拥有食谱,第二个是所有的评级。显示最受好评的PHP和MySQL
recipes_ratings:
id, rating, user_id, recipe_id
recipes:
id, name
我想计算每个配方的所有行。然后分类并显示最高评分和下降的食谱。
最简单的方法是什么?我曾想过要查询
SELECT * FROM recipes_ratings
然后通过评分循环计数,并存储到数组中,然后从中进行排序。
但它可以做得更简单吗?一个查询只做这一切..或?
也许类似于'SELECT recipe_id,SUM(rating)FROM recipes_rating GROUP BY recipe_id ORDER BY SUM(rating)DESC;' – 2012-01-03 22:18:02
实际上,您可能希望'AVG'使用平均评分。你可能也想考虑过滤只有一两次评分的食谱,因为这会歪曲排名。 – 2012-01-03 22:26:48