如何将recipe_id不同的所有评级列值相加

时间:2015-07-28 19:47:46

标签: php mysql

更具体地说,我有一张食谱表。在另一个表中,我保持与这些食谱相关的评级。每个评级都有一个唯一的ID,第二列是配方的id,第三列是评级(从1-5开始)。

预期结果是recipe_id,其中与该recipe_id相关联的所有评级都是最高的。

我希望您理解,我不知道如何正确处理此类查询。

希望我已经正确地发布了我的问题,这是我的第一个问题。

1 个答案:

答案 0 :(得分:1)

您可以使用自我加入:

SELECT
  r.id,
  r.recipe_id,
  r.rating
FROM
  recipes_ratings r LEFT JOIN recipes_ratings r2
  ON r.recipe_id = r2.recipe_id
     AND r2.rating>r.rating
WHERE
  r2.rating IS NULL

请查看小提琴here