Ich habe eine Tabelle, die Ergebnisse nach Sport und Start-und Enddaten und Gewinn/Verlust-Ergebnis auflistet. Ich muss den Prozentsatz der Gewinne pro Sport pro Saisonstart berechnen. Dies ist meine Tabelle:Wie Prozentsätze in Tsql mit einer Gruppe nach Abfrage berechnen?
table1
******
id sport won playerid season_start season_end updated_date
--- ----- ---- -------- ------------ ------------ ------------
1 rugby Y kato23 2016-01-01 2016-01-31 2016-02-01
2 rugby Y king54 2016-01-01 2016-01-31 2016-02-01
3 rugby N robby1 2016-03-01 2016-03-28 2016-04-01
4 rugby Y kelly2 2016-03-01 2016-03-28 2016-04-01
5 soccer Y kato23 2016-01-01 2016-01-31 2016-02-01
6 soccer Y jeri44 2016-01-01 2016-01-31 2016-02-01
7 soccer N matt24 2016-06-01 2016-06-30 2016-07-01
8 tennis Y kray43 2016-01-01 2016-01-31 2016-02-01
9 tennis Y jeri44 2016-01-01 2016-01-31 2016-02-01
10 tennis N jeri44 2016-01-01 2016-01-31 2016-02-01
So würde Ich mag eine Abfrage auszuführen, die folgendes Ergebnis erzeugt:
sport season_start success_percent
----- ------------ ---------------
rugby 2016-01-01 100.00
rugby 2016-03-01 50.00
soccer 2016-01-01 100.00
soccer 2016-06-01 0.00
tennis 2016-01-01 66.66
Ich habe versucht:
select sport,won, season_start, count(sport) as sportcount
from table1 where won = 'Y'
group by sport, won, season_start
Aber gib mir nur die Gesamtzählung, aber nicht der tatsächliche Erfolgsprozentsatz. Ich habe versucht, case statement zu verwenden, aber ich bin nicht gut mit tsql, oder mit 'Sum', um die Gewinne und die Verluste zu zählen und dann den Gewinnprozentsatz von der Gesamtsumme zu berechnen.
Kann jemand eine Tsql-Abfrage bereitstellen, die das tut?
das sieht nicht richtig aus - es gibt mir jetzt 100 oder 0, was nicht richtig ist –
Entschuldigung, mein Fehler - ich gruppiert auf gewann auch, weshalb es versaut war! Warte, lass mich nachsehen, werde dich in Kürze updaten. –
OK Ich habe ein Problem - ich muss updated_date als eine der Spalten in der Ergebnismenge einschließen, aber wenn ich updated_date in der Auswahl- und in der Gruppe hinzufügen, ist das Ergebnis deaktiviert - es werden auch zusätzliche Zeilen eingefügt . Wie kann ich die update_date-Spalte in der Ergebnismenge hinzufügen, ohne die Ergebnismenge zu verfälschen? –