Mysql SQL查询-在数据库中的所有配方中查找我们总共使用了4茶匙或更多茶匙的成分的名称

Mysql SQL查询-在数据库中的所有配方中查找我们总共使用了4茶匙或更多茶匙的成分的名称,mysql,sql,database,Mysql,Sql,Database,我已经在这上面呆了一段时间了 在数据库中的所有配方中查找我们总共使用了4茶匙或更多茶匙的成分的名称。 我一直在尝试一些关于 SELECT name FROM ingredient JOIN recipe_ingredient ON ingredient.id = recipe_ingredient.ingredient_id JOIN measurement ON recipe_ingredient.measurement_id = measurement.id WHERE descripti

我已经在这上面呆了一段时间了

在数据库中的所有配方中查找我们总共使用了4茶匙或更多茶匙的成分的名称。

我一直在尝试一些关于

SELECT name
FROM ingredient
JOIN recipe_ingredient ON ingredient.id = recipe_ingredient.ingredient_id
JOIN measurement ON recipe_ingredient.measurement_id = measurement.id
WHERE description = "teaspoon"
AND amount >4;
但我不能完全确定我是否得到了正确的结果。我正在弄一份配料单,但谁知道呢

任何指导都将不胜感激

结果看起来像-

名字 盐 黑胡椒 盐 肉豆蔻 肉桂色 酸橙汁 黑胡椒

等等等等。。。我知道我可以添加distinct来删除double

这是我进来时的一张桌子样本

SELECT *
FROM ingredient
JOIN recipe_ingredient ON ingredient.id = recipe_ingredient.ingredient_id
JOIN measurement ON recipe_ingredient.measurement_id = measurement.id

如果您给我们一个表格示例,也许我可以更精确地回答您的查询

这样你就可以知道使用4茶匙或更多茶匙的成分的名称

SELECT name
FROM ingredient
JOIN recipe_ingredient ON ingredient.id = recipe_ingredient.ingredient_id
JOIN measurement ON recipe_ingredient.measurement_id = measurement.id
WHERE description = "teaspoon"
AND amount >4
GROUP BY name, recipe_title; --Grouping by removes also repetitions not only distinct
SELECT i.name
FROM ingredient i
JOIN recipe_ingredient ri ON i.id = ri.ingredient_id
JOIN measurement m ON ri.measurement_id = m.id
WHERE m.description = "teaspoon"
group by i.name
having sum(ri.amount) >= 4;

我知道我们在寻找所有配方中至少使用4茶匙的成分,而不是使用4茶匙的配方

SELECT name
FROM ingredient
JOIN recipe_ingredient ON ingredient.id = recipe_ingredient.ingredient_id
JOIN measurement ON recipe_ingredient.measurement_id = measurement.id
WHERE description = "teaspoon"
AND amount >4
GROUP BY name, recipe_title; --Grouping by removes also repetitions not only distinct
SELECT i.name
FROM ingredient i
JOIN recipe_ingredient ri ON i.id = ri.ingredient_id
JOIN measurement m ON ri.measurement_id = m.id
WHERE m.description = "teaspoon"
group by i.name
having sum(ri.amount) >= 4;

4茶匙或更多茶匙
-可能需要将
>4
更改为
=4
。创建表格后的语句以及一些示例值,也要描述输出!你觉得它看起来不错吗?@rocks我不太确定怎么做,只是个初学者。你能给我们举个例子吗?我想你错过了一组。也许我错了,我想确定一下。只需编辑你的帖子,并这样描述你的表格:在这里给出一个表格示例谢谢你的帮助。现在,我使用的系统对我的原始查询或您的任何查询都没有给出任何结果……LOLI说不出来,因为它是一种配料,与4个或更多汤匙(即盐)一起使用,或者一个汤匙的量必须大于等于4(其中不存在)?我理解您的意思,但该查询不会返回任何结果。@JackMcAnulty您现在可以试试吗。queryOne结果中有一个输入错误,该结果是Salt@JackMcAnulty我没有看到你的数据,所以很难说这是否正确。我也会考虑其他的测量方法。也许你需要应用勺子=2*茶匙的条件或其他一些计算。你们有什么尺寸?我还错过了>=我认为它没有勺子=2*茶匙那么先进,所以我怀疑这会起作用!