我有这些桌子(一些足球桌)
- 联赛:ID、名称
- 团队:ID、名称、IDLeague
- 阶段:Id、Number、IdLeague
- 匹配项:Id、IdStage、日期、IdTeam1、IdTeam2、Team1Score、Team2Score
我的目标是计算某个联赛的排名。
位置、团队名称、获胜、平局、失败、进球得分、进球数、积分(3 * 胜 + 平)。
如果两队得分相同,则有更多可能性(A队和B队)
- 如果有 A 队与 B 队的比赛,但没有 B 队与 A 队的比赛,则净胜球差 (GoalsScored - GoalsConceded ) 较大的球队处于优势
- 如果他们在联赛中进行了两场比赛,那么在这2场比赛中得分更多的球队是优势,如果他们在这2场比赛中获得相同数量的积分,那么在这2场比赛中净胜球更好的球队是优势有优势
- 如果与 2) 的差异相同,则在这 2 场直接比赛中进球多的球队处于优势
- 如果 3) 无法决定,联赛中净胜球大的球队获胜
- 如果 4) 无法决定,联赛进球多的球队获胜
- 如果 5) 不能决定,..我不知道 :)
联赛表:将有 3-4 行
团队表:将有 60-80 行(20 支球队/联赛) 阶段表:将有 114-152 行(38 阶段/联赛)
比赛表:将有 1149- 1520 行(10 场比赛/阶段)
是在 sql server 上为 1 个联赛进行所有聚合,还是只从该联赛中选择所有比赛并在服务器上进行所有计算?
可以用 1 选择计算该排名吗?