我学习SQL查询。我附上了我上面的模型的图片。 给定一组“peopleIDs”,我怎么能找到多少种可用,每种类型的多少“魔术的”在那里下的。 “人”与“结果”之间的多样性是一个对许多人来说,“结果”和“Magic_score”一到多,“magic_score”和“神奇”多对多之一。 我是否首先获得“所有可用类型”,然后在每种类型下计算“魔术”?
回答
假设您的意思是Result.Type
,您可以加入表格并按Type
加入组并计算Magic
s。
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
s的匹配类型,答案应该是相同的,但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.Type
谢谢。实际上,Result.type与Magic.type相同。 – user3369592
@ user3369592这不是一个梦幻般的设计,那么,为什么不使用'Magic_ID'?除非Result或Magic表格很大,否则这种类型的非规范化是没有意义的。 – pimbrouwers
@pim我同意你的看法,但我不允许更改设计.. – user3369592
- 1. 集团通过查询SQL
- 2. SQL查询集团通过
- 3. SQL Server 2012的查询 - 集团通过
- 4. SQL查询集团通过帮助
- 5. 集团通过查询和SQL Server 2008
- 6. SQL - 用于集团通过查询
- 7. 集团通过SQL查询初学
- 8. 集团通过
- 9. 不HQL有超过SQL的集团通过什么adavantages查询
- 10. 高级SQL查询
- 11. MongoDB的汇总查询集团通过
- 12. 集团通过查询Rails中3
- 13. Mysql的集团通过和查询
- 14. 集团通过与MySQL查询条件
- 15. 简单(?)的MySQL集团通过查询
- 16. 集团通过与一个查询
- 17. 高级SQL查询
- 18. SQL高级查询
- 19. SQL:高级查询
- 20. SQL集团选择查询
- 21. 集团在SQL查询
- 22. SQL集团通过计算
- 23. SQL集团通过定时
- 24. 集团通过给出SQL
- 25. SQL集团通过发行
- 26. SQL - 集团通过问题
- 27. 集团通过声明SQL
- 28. LINQ到SQL - 集团通过
- 29. SQL集团通过条件
- 30. 集团通过列在SQL
见https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql - 查询 – Strawberry
你的意思是有多少'Result.Type'或多少个'Magic.Type'? – NetMage
@NetMage感谢您的回复。 Result.type和magic.type是相同的东西。 – user3369592