MySQL Abfrage SUM datediff

didi577

Bekanntes Mitglied
Hi,

ich möchte in einer Abfrage eine Summe über ein DATEDIFFmit dem MAX einer Spalte ermitteln:

Java:
SUM(DATEDIFF(from_unixtime(a.createtime), from_unixtime(t.createtime)))

da es von (from_unixtime(a.createtime) mehrere Werte zu einem Datenobjekt geben kann, will ich hier den größten Wert ermitteln, also das größte Datum

Java:
SUM(DATEDIFF(MAX(from_unixtime(a.createtime)), from_unixtime(t.createtime)))

funktioniert aber nicht und dieser Fehler wird geworfen:

Error Code: 1111. Invalid use of group function 0.000 sec

Wer kann mir hier weiter helfen?
 
Das geht so nicht. Was Du machen kannst ist ein subselect

Code:
SUM( SELECT DATEDIFF(from_unixtime(a.createtime), from_unixtime(t.createtime)) AS datediff FROM ... ORDER BY datediff DESC LIMIT 1)) ...
Es wird aber wahrscheinlich nicht besonders schnell sein.

Gruß

Claus
 
Ich habe die Frage etwas anders verstanden, nämlich so, dass nicht die größten Datumsdifferenzen summiert werden sollen, sondern die Datumsdifferenzen bezogen auf das größte Datum. Also ungefähr so etwas (from_unixtime habe ich der Lesbarkeit halber mal weg gelassen):
Code:
SUM(DATEDIFF((SELECT MAX(a.createtime) FROM ...), t.createtime))
 

Neue Themen


Zurück
Oben