Vinzenz Mai: [mySQL] LEFT JOIN - WITH ROLLUP rechnet nicht zusammen

Beitrag lesen

Hallo,

gegeben sei folgender Query:

SELECT  DATE_FORMAT( statistik.datum, '%d.%m.%Y') Date,

COUNT(CASE WHEN typ = 'C' THEN 1 ELSE NULL END) Clicks,
        kosten
FROM statistik
LEFT JOIN kosten ON kosten.datum = statistik.datum
WHERE YEAR( statistik.datum ) = '$jahr' AND MONTH( statistik.datum ) = '$monat'
GROUP BY statistik.datum WITH ROLLUP

  
ok, das kaputte SQL läßt darauf schließen, dass Du mit extrem hoher Wahrscheinlichkeit MySQL verwendest, weil jedes vernünftige Datenbankmanagementsystem statt eines Ergebnisses eine Fehlermeldung zurückliefert.  
  

> Die Ausgabe verwirrte mich: während Clicks wie erwartet in der Rollup-Zeile zusammengerechnet wird, zeigt die Rollup-Zeile für kosten \_nicht\_ die Summe, sondern den Eintrag der letzten Zeile.  
  

> Wieso tut sie das nicht?!?  
  
weil Du auf Kosten keine Aggregatsfunktion anwendest und auch nicht danach gruppierst.  
  
  
Freundliche Grüße  
  
Vinzenz