更具体地说,我有一张食谱表。在另一个表中,我保持与这些食谱相关的评级。每个评级都有一个唯一的ID,第二列是配方的id,第三列是评级(从1-5开始)。
预期结果是recipe_id,其中与该recipe_id相关联的所有评级都是最高的。
我希望您理解,我不知道如何正确处理此类查询。
希望我已经正确地发布了我的问题,这是我的第一个问题。
答案 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。