
我正在学习SQL查询。我附上我上面模特的照片。给定一组"peopleIDs",我如何才能找到有多少类型可用,在每种类型下有多少个“魔法”。“人”和“结果”之间的多重性是一对多、“结果”和"Magic_score“一对多,"magic_score”和“魔术”是一对一的。我首先得到“所有可用类型”,然后在每种类型下计数“魔术”吗?
发布于 2017-11-10 20:03:09
假设您是指Result.Type,您可以通过Type连接表和组,并计算Magics。
SELECT r.Type, COUNT(m.Magic_ID), COUNT(r.peopleID)
FROM Result r
INNER JOIN Magic_Score ms ON r.Result_ID = ms.Result_ID
WHERE r.peopleID in groupPeopleIDs
GROUP BY r.Type考虑到Result.Type和Magic.Type是相同的,而且每个Result只指向具有匹配类型的Magic,答案应该是相同的,但是按Magic.Type分组是相似的:
SELECT m.Type, COUNT(m.Magic_ID)
FROM Result r
INNER JOIN Magic_Score ms ON r.Result_ID = ms.Result_ID
INNER JOIN Magic m ON ms.Magic_ID = m.Magic_ID
WHERE r.peopleID in groupPeopleIDs
GROUP BY m.Typehttps://stackoverflow.com/questions/47230101
复制相似问题