【发布时间】:2022-01-03 10:22:30
【问题描述】:
我在统一 SQL 中的两个表时遇到了一些问题。我想得到本赛季进球更多的球员,但我做不到。
我已经以不同的方式完成了这两件事:
SELECT name, surname
FROM players
GROUP BY name, surname
如果我这样做,我会从玩家那里得到所有的名字,但是如果我在 JOIN ON 中将它与另一个混在一起,一些玩家会无缘无故地消失。
结果:
| name | surname |
| John | Brown |
| Robert | Smith |
| Albert | Carpenter |
| David | Addams |
| Richard | McAvoy |
然后我有每个进球的进球数,我通过 COUNT(*) 得到这个
SELECT COUNT(*) AS goals
FROM goals
JOIN players ON (players.id = goals.player_id)
GROUP BY player_id
ORDER BY goals DESC
LIMIT 5;
在这一点上,我也可以得到想要的结果,即进球得分最高的 5 个。但我不知道如何获得综合结果。
结果:
| goals |
| 152 |
| 140 |
| 102 |
| 95 |
| 91 |
我希望我的专栏是:
| Name | Surname | goals |
| John | Brown | 152 |
| Robert | Smith | 140 |
| Albert | Carpenter | 102 |
| David | Addams | 95 |
| Richard | McAvoy | 91 |
感谢任何帮助。 :)
【问题讨论】:
-
可以输入表GOALS的样本5-7条记录吗?