AVG und SUM auf das gleiche Feld

Hallo zusammen,

ich konnte einen ähnlichen Artikel noch nicht finden und stelle deshalb diese Frage auf die Gefahr hin, dass die Antwort hier schon irgendwo existiert:

Ich habe eine Tabelle, die ungefähr so aussieht:
ID datum wert

Und möchte darin den Durchschnitt der Summe aller Werte für einen Monat herausfinden. Im Ergebnis muss auch der Monat angezeigt werden, was die Sache irgendwie zu kompliziert für mich macht:

SELECT MONTH(date1) AS month, AVG(sum\_money) AS money
FROM (SELECT SUM(money) AS sum\_money, date1
FROM mobile 
WHERE YEAR(date1)=2009
GROUP BY MONTH(date1) 
ORDER BY MONTH(date1))
AS mobile

Das funktioniert nicht und ich weiß mit der Fehlermeldung nichts anzufangen:

#1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT(),…) with no GROUP columns is illegal if there is no GROUP BY clause

Ich hoffe, ihr könnt mir helfen.

LG

DA

Also ich glaube, ich hab mich irgendwie falsch ausgedrückt, aber ich habe hier eine Abfrage, die anscheinend das richtige Ergebnis liefert und zur Abwechslung mal funktioniert. Vielleicht ist das eine Hilfe für alle, die so etwas Ähnliches suchen:

SELECT vertrag\_id, monat, dwert, wert
FROM (
 SELECT datum, vertrag\_id, MONTH(datum) AS monat, 
 AVG(sum\_wert) AS dwert, wert
 FROM (
 SELECT vertrag\_id, datum, MONTH(datum) , 
 SUM(wert) AS sum\_wert, wert
 FROM mobil
 GROUP BY vertrag\_id
 ) AS mobil
 GROUP BY MONTH(datum) 
) AS m
WHERE YEAR(datum)=2009
GROUP BY MONTH(datum) 
ORDER BY MONTH(datum) 

ja, nur bei mir sind die Durschnittswerte nicht durchschnitt. kann aber auch an meiner beispiel tabelle liegen.

Hi!

ja, nur bei mir sind die Durschnittswerte nicht durchschnitt.
kann aber auch an meiner beispiel tabelle liegen.

Irgendwie sind mir im GroupBy zuwenig Felder drinnen …

Grüße,
Tomh