程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了获取球队和城市的球员数量大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决获取球队和城市的球员数量?

开发过程中遇到获取球队和城市的球员数量的问题如何解决?下面主要结合日常开发的经验,给出你关于获取球队和城市的球员数量的解决方法建议,希望对你解决获取球队和城市的球员数量有所启发或帮助; @H_944_2@我有两张桌子。球员和球队。团队 = 名称、城市。球员 = 球员 ID,球队

@H_944_2@问题:每个球队和城市的球员数量

@H_944_2@我正在查找城市中的玩家数量。例如;

SELECT COUNT(*),city
FROM Team t INNER JOIN Player p
ON t.name=p.team
GROUP BY city
@H_944_2@输出;

City,number of player in city
A,10
B,5
C,15
@H_944_2@我正在查找团队中的玩家数量。例如;

SELECT COUNT(*),team
FROM Player
GROUP BY team
@H_944_2@输出;

Team,number of player in team
A1,5
A2,2
A3,3
B1,2
B2,3
C1,15
@H_944_2@但我想在同一个表中获取这些值。 输出;

City,Team,number of player in team,A1,5,10
A,A2,2,A3,3,B1,5
B,B2,C1,15,15

解决方法

@H_944_2@假设一个团队只能存在于一个城市,那么无论是否添加城市,团队的粒度都是一样的。所以应该是:

with PlayerCountByCity as
(
SELECT t.City,COUNT(*) as CityPlayerCount
FROM Team t INNER JOIN Player p
ON t.name=p.team
GROUP BY t.City
),PlayerCountByTeam as
(
SELECT t.City,p.Team,COUNT(*) as TeamPlayerCount
FROM Team t inner join Player p
on t.name=p.team
GROUP BY t.City,t.Team
)
SELEct a.City,b.Team,b.TeamPlayerCount,a.CityPlayerCount
from PlayerCountByCity a inner join PlayerCountByTeam b on a.City=b.City

@H_944_2@如果您有一个城市表,那会更可取,因为您可以使用城市表将没有球员的球队和没有球队的城市联合起来,最终查询将如下所示:

SELEct a.City,c.Team,c.TeamPlayerCount,b.CityPlayerCount
from City a left join PlayerCountByCity b on a.City=c.City 
left join PlayerCountByTeam c on a.City=c.City

大佬总结

以上是大佬教程为你收集整理的获取球队和城市的球员数量全部内容,希望文章能够帮你解决获取球队和城市的球员数量所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: