Halihallo Marc
Ich verstehe nur nicht so ganz wie das arbeitet, bzw. kann ich noch nicht so blicken ob das wirklich funktioniert. Erst mal ist da ja keine varaibale Komponente drinne (die where-bedingung ist ja immer die gleich, wenn ich das richtig verstehe liest dieser Befehl also jedes mal die daten vom selben monat aus). Ich kann aber auch nicht so einfach den monat im where weglassen, weil dann ja wohl die jahreshits ausgelesen werden würden. Ich muss also irgendwie bei Summe definieren Zähle alle zusammen bei denen Monat gleich ist. oder sehe ich das falsch?
ei, ei, ei, du hast recht; da hab ich mir etwas wenig dabei gedacht.
Richtig, du musst die Summen zu jedem Monat bilden. Dies wird über einen GROUP BY über
die Spalte monat erreicht:
SELECT
sum(hits) AS summe
WHERE
jahr='$anzeigejahr'
GROUP BY monat
ORDER BY summe DESC
LIMIT 0, 1;
Ich glaube, dass das das ist, wonach du suchst.
Also, erstmal die Summe zu jedem Monat bilden:
SELECT sum(hits) FROM ... GROUP BY monat [jetzt fällt mir erst auf, du hast
das FROM vergessen!]
dies macht man, indem man nach monat gruppiert (GROUP BY), somit wird der sum dann nur
noch für jeden einzelnen Monat berechnet und nicht mehr über alles. Dann kommt der
ORDER BY, welcher nach den Monats-Summen sortiert (DESC: descending, absteigend), also
die Monate mit der grössten Hits-Anzahl zuerst. Dann der LIMIT, welcher nur noch die
erste Monatssumme zurückgibt.
Viele Grüsse
Philipp