• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage AVG-Berechnung mit LIMIT

StephanBo

Mitglied
"SELECT AVG(ScoreHome) AS AvgScoreHome
FROM Matches
WHERE Matchtime >'2018-01-01'"

Oben die vereinfachte Abfrage. Ziel soll es sein, die durchschnittlich erzielten Tore einer Heimmannschaft im aktuellen Jahr 2018 zu ermitteln. Für das gesamte Jahr 2018 klappt dies auch mit der genannten Abfrage. Wenn ich allerdings den Durchschnitt der letzten fünf Spiele aus 2018 haben möchte und die Abfrage durch "ORDER BY Matchtime DESC LIMIT 5" erweitere, erhalte ich dennoch die selben Werte.

"SELECT AVG(ScoreHome) AS AvgScoreHome
FROM Matches
WHERE Matchtime >'2018-01-01' ORDER BY Matchtime DESC LIMIT 5"

Warum ändert sich die AVG-Berechnung nicht? Muss ich hier mit einem "Subselect" arbeiten? Wenn ja, wo muss das Subselect eingebaut werden?

Danke schon mal.
 
Werbung:
Moin,
limit geht da nicht, da SELECT AVG(ScoreHome) ja eh nur einen Datensatz zurückgibt.

Mit einem Subselect sollte das gehen:

Code:
SELECT AVG(ScoreHome) AS AvgScoreHome
FROM (
  SELECT ScoreHome FROM Matches
  WHERE Matchtime >'2018-01-01' ORDER BY Matchtime DESC LIMIT 5) AS sub;

Fiddle: http://sqlfiddle.com/#!9/7dfe21/1

MfG
 
Werbung:
Zurück
Oben