我正在使用SQL,需要选择idR以及idR中有多少成分的计数。
我该怎么做呢?
idR, recipeTitle, prepText, cuisineType, mealType
)idI, ingrDesc
)idR*, idI*
)这就是我试过的
SELECT
RECIPE.idR
FROM
(SELECT COUNT(*)
FROM INGREDIENT
GROUP BY INGREDIENT.idI
ORDER BY idI.id DESC)
但我只是想知道每个idR中有多少成分。
有任何帮助吗?
答案 0 :(得分:2)
如果我了解您的架构,
SELECT idR, count(*)
FROM RecipIngr
GROUP BY idR
答案 1 :(得分:0)
如果您只对IDR
SELECT iDR, COUNT(*) totalIngredients
FROM RecipIngr
GROUP BY iDR
但是如果你想获得TITLE
SELECT a.iDR, a.Title,
COUNT(*) totalIngredients
FROM Recipe a
INNER JOIN RecipIngr b
ON a.idr = b.idr
GROUP BY a.iDR, a.Title
要进一步了解联接,请访问以下链接:
答案 2 :(得分:0)
SELECT RG.IDR, COUNT(RG.IDR)
FROM Recipingr RG
GROUP BY RG.IDR
答案 3 :(得分:0)
RecipIngr会向您显示每个idR所需的成分列表吗?代码将是
SELECT idR, count(*)
FROM RecipIngr
GROUP BY idR
编辑:我之前误解了,但现在应该可以了。
答案 4 :(得分:0)
如果我理解您的查询,您可以尝试:
select recipe.idr, count(ingredient.idi)
from ingredient, recipe, recipingr
where ingredient.idr=recipingr.idr
and recipingr.idi=ingredient.idi
group by recipe.idr
答案 5 :(得分:0)
SELECT *,INGREDIENT.INGREDIENT_Count
FROM RECIPE INNER JOIN (SELECT idR,COUNT(*) INGREDIENT_Count
FROM RecipIngr
GROUP BY idR) INGREDIENT ON INGREDIENT.idR RECIPE.idR
使用此查询,您可以获得每个食谱的成分计数。