我遇到了从MySQL数据库中选择数据的问题。
例如,我有一个包含以下列和表格的表格:
Table name: farming
id | animal | amount | food
----------------------------
1 | Cow | 10 | Grass
12 | Sheep | 19 | Grass
23 | Lion | 1 | Everything
29 | Lamb | 3 | Grass
102| Pig | 8 | Everything
...
我想从与所选id
的food
类型匹配的所有行中获取amount
。
例如,如果我选择id: 102
,那么它将从所有行中获取amount
food = 'Everything'
SELECT amount FROM farming WHERE food = '".$_GET['food']."' **IS THE SAME TYPE AS IT IS IN** id = '1'";
//这应该从amount
中选择10
、19
和3
(因为id = 1
的食物类型是Grass
,所以它应该从食物类型 = 草的所有行中选择amount
。
**是我面临问题的地方,我已经尝试了各种陈述,但似乎无法使其正常工作。
您可以使用 group by 子句,它将汇总数量列 whre 食物 = '草' 中的所有值
SELECT SUM(amount) ammount FROM farming
WHERE food = (select food FROM farming where id = 102)
GROUP BY food
这应该可以解决问题
select amount
from farming
where food = (
select food
from farming
where id = 1
)