如何在结果中使SQL联接和按组计数行?
我有两个国家队冠军和球员。我需要按字段contry/国籍加入,并按国籍统计玩家(第二个表中的第一行不好,必须删除)。 我怎么能做到? 结果必须是:如何在结果中使SQL联接和按组计数行?,sql,join,group-by,count,Sql,Join,Group By,Count,我有两个国家队冠军和球员。我需要按字段contry/国籍加入,并按国籍统计玩家(第二个表中的第一行不好,必须删除)。 我怎么能做到? 结果必须是: id nationality wins players --------------------------------- 1 Brazil 5 1 2 Germany 4 1 3 Italy 4 2 4 Argentina 2
id nationality wins players
---------------------------------
1 Brazil 5 1
2 Germany 4 1
3 Italy 4 2
4 Argentina 2 5
5 Uruguay 2 0
6 France 1 0
7 Spain 1 1
国家队冠军
id country wins
-------------------
1 Brazil 5
2 Germany 4
3 Italy 4
4 Argentina 2
5 Uruguay 2
6 France 1
7 Spain 1
球员
id name club nationality wins
-------------------------------------------
1 id name club nationality wins
2 Bob Dylan Villariba Brazil 5
3 Chuck Nor Barselona USA 3
4 Ronaldo Barselona Germany 7
5 Brutallo Real M Italy 7
6 Max Real N taly 5
7 Mudila Dynamo Spain 3
8 Chuvila Dynamo Ukraine 3
9 Chuvila Dynamo Argentina 3
10 Player1 Dynamo Argentina 4
11 Player2 Dynamo Argentina 5
12 Player3 Dynamo Argentina 8
13 Player4 Dynamo T Argentina 8
尝试左键加入玩家表,然后进行计数()
你试过什么?向我们展示您当前的查询尝试。有很多关于如何加入、分组和获取组计数的示例。你能发布到目前为止你已经尝试过的SQL吗?您对哪个部分有问题?对于该样本数据,预期结果是什么?@jarlh expected result是第一个数据样本,它说
结果必须是:
@Fran,oops,现在我看到了。(咖啡太少是我唯一的借口。)
Select c.id,
c.country,
c.wins,
count(p.name) as players
from country_champions c
left outer join players p
on c.country = p.nationality
group by c.id,
c.country,
c.wins