我的[dbo].[game]
表中有4列:
通过执行以下查询,我可以得到赢得比赛的球队的ID。
select
(case
when ([dbo].[game].[score_away] < [dbo].[game].[score_home])
then [dbo].[game].[team_home_id]
else [dbo].[game].[team_away_id]
end) as winning_team_id
from
[dbo].[game]
结果示例:
12
2
3
5
7
4
...
有什么办法可以计数并获得在同一查询中赢得多数比赛的球队的身份证?
答案 0 :(得分:2)
使用该查询和for root, dirs, files in os.walk(os.path.abspath("my_folder/")) :
for file in tqdm(files):
if file.endswith(".ext"):
获取获胜次数。
然后按获胜次数降序排列并获得第一行。
group by winning_team_id
答案 1 :(得分:1)
类似
select winning_team_id, count(*)
from ( select (case when ([dbo].[game].[score_away] < [dbo].[game].[score_home])
then [dbo].[game].[team_home_id]
else [dbo].[game].[team_away_id]
end) as winning_team_id
from [dbo].[game] ) winners
group by winning_team_id
order by 2 desc
将为您提供按获胜最多的球队编号排序的列表。
使用select top 1
仅获得赢得最多比赛的球队,