我有2张桌子,食物和分数。
食品
id
name
picture
得分
id
score
food_id
。我想查询平均得分高于7的食物:
select * from food where (select avg(score) from score group by food_id)>=7
但是这会返回
错误#1242 - 子查询返回超过1行。
答案 0 :(得分:1)
试试这个
SELECT * FROM food f INNER JOIN score s
ON f.id = s.food_id
WHERE avg(s.score)>=7
GROUP BY f.food_id
答案 1 :(得分:1)
试试这个:
select fd.* from food fd
inner join score sc on fd.id=sc .food_id
group by food.id
having avg(sc.score)>=7