(对不起标题,想不出怎么解释)
所以我有一个Olympic 数据库,基本布局是有一个包含competitornum、givenname 和familyname 的竞争者表(其他列不是必需的)还有一个包含竞争者数字和位置(1 到8 之间)的结果表。
我正在尝试获取名字和姓氏以及金牌、银牌和铜牌的总数(位置 = 1、2 或 3)
它还需要只显示奖牌数量最多的结果,所有这些都不需要使用 Order By 子句......
我之前问过这个问题,但意识到我忘了说一些事情,但是在添加粗体部分之前的上一个答案是:
SELECT c.Givenname, c.Familyname, COUNT(r.places) AS TotalPlaces
FROM Competitors c INNER JOIN Results r
ON r.Competitornum = c.Competitornum
WHERE r.place IN (1,2,3)
GROUP BY c.Givenname, c.Familyname
我认为它需要另一个子查询,例如
AND TotalPlaces = (SELECT MAX(TotalPlaces))
但是我不确定如何在子查询上方使用别名时在子查询中使用它...
感谢所有帮助,谢谢!
编辑:关于我的作业的官方问题(我不知道答案,我真的试过了,这就是我在这里的原因):
哪些参赛者获得的奖牌数量最多(金、银、铜加起来)?列出他们的名字和姓氏以及他们的奖牌总数(仅)。
警告:您的解决方案不能假定竞争对手名称总是不同 的。不要在此查询的任何部分使用 ORDER BY 子句。