J'ai une table avec les joueurs, les résultats et ID:Compter le nombre maximum d'occurrences d'une valeur dans SQL Server
Player | Result | ID
---------------
An | W | 1
An | W | 1
An | L | 0
An | W | 1
An | W | 1
An | W | 1
Ph | L | 0
Ph | W | 1
Ph | W | 1
Ph | L | 0
Ph | W | 1
A 'W' aura toujours un identifiant de 1,
I besoin de créer une requête qui comptera le nombre maximum de consécutifs « W est pour chaque joueur:
Player | MaxWinStreak
---------------------
An | 3
Ph | 2
J'ai essayé d'utiliser des lignes Unbounded pRÉCÉDANT mais je ne peux l'obtenir pour compter le nombre maximum de Ws au total, et pas c de façon séquentielle
Select
t2.player
,max(t2.cumulative_wins) As 'Max'
From
( Select
t.Player
,Sum(ID) Over (Partition By t.Result,t.player
Order By t.GameWeek Rows Unbounded Preceding) As cumulative_wins
From
t
) t2
Group By
t2.player
Y a-t-il une approche différente que je peux prendre?
Vous avez besoin d'une colonne pour spécifier la commande. –
Y at-il une colonne qui stocke l'ordre de gagner et de perdre? – TechDo
@GordonLinoff Je suis heureux d'ajouter des colonnes supplémentaires, je ne sais pas comment s'y prendre – PeterH