1
我有2張桌子,食物和分數。where子句子查詢使用avg
食品
id
name
picture
得分
id
score
food_id
。
我要查詢具有高於7平均得分的食物:
select * from food where (select avg(score) from score group by food_id)>=7
但這返回
錯誤#1242 - 子查詢返回多個1行。
我有2張桌子,食物和分數。where子句子查詢使用avg
食品
id
name
picture
得分
id
score
food_id
。我要查詢具有高於7平均得分的食物:
select * from food where (select avg(score) from score group by food_id)>=7
但這返回
錯誤#1242 - 子查詢返回多個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
試試這個
SELECT * FROM food f INNER JOIN score s
ON f.id = s.food_id
WHERE avg(s.score)>=7
GROUP BY f.food_id
所以關鍵是要加入他們的行列。我認爲它沒有必要,因爲我不從比分表中選擇。非常感謝。 – novusz