# MySQL Abfrage SUM datediff



## didi577 (23. Aug 2018)

Hi,

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


```
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


```
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?


----------



## Thallius (23. Aug 2018)

Das geht so nicht. Was Du machen kannst ist ein subselect


```
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


----------



## Meniskusschaden (23. Aug 2018)

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):
	
	
	
	





```
SUM(DATEDIFF((SELECT MAX(a.createtime) FROM ...), t.createtime))
```


----------



## didi577 (23. Aug 2018)

Meniskusschaden hat gesagt.:


> Also ungefähr so etwas (from_unixtime habe ich der Lesbarkeit halber mal weg gelassen):


ja so habe ich es gemeint. ich werde es nachher testen

vielen Dank für eure Hilfe


----------

