Einzelnen Beitrag anzeigen
  #1  
Alt 09.02.2018, 12:19:27
basementmedia basementmedia ist offline
Anfänger
 
Registriert seit: Feb 2015
Alter: 38
Beiträge: 11
basementmedia befindet sich auf einem aufstrebenden Ast
Fehler Invalid use of group function

Hi zusammen,

ich hab einen relativ komplexen SQL-query der für eine Liste von Projekten den monatlichen "Verdienst" anteilig an den Projektstunden eine Users errechnet.

Dieser funktioniert soweit auch richtig:

PHP-Code:
SELECT
ROUND
(((sum(stunden.stunden))*(ROUND(((ROUND((projekte.hmax projekte.hsatz),2))/((SELECT sum(stundenFROM stunden WHERE projekt_id=projekte.ID))),2) )),2) as peuro_h_u
FROM stunden
LEFT JOIN projekte ON stunden
.projekt_id projekte.ID
WHERE stunden
.user_id 27 AND (stunden.datum between '2018-01-01' AND '2018-01-31')
GROUP BY stunden.projekt_id 
In der Ergebnistabelle werden untereinander alle Beträge ausgegeben.
Nun möchte ich aber nicht die Einzelbeträge haben sondern die Summe, also die Summe aus "peuro_h_u".

Mein erster Versuch war:

PHP-Code:
SELECT [B]SUM([/B]
ROUND(((sum(stunden.stunden))*(ROUND(((ROUND((projekte.hmax projekte.hsatz),2))/((SELECT sum(stundenFROM stunden WHERE projekt_id=projekte.ID))),2) )),2) as peuro_h_u
[B]) as summe[/B]
FROM stunden
LEFT JOIN projekte ON stunden
.projekt_id projekte.ID
WHERE stunden
.user_id 27 AND (stunden.datum between '2018-01-01' AND '2018-01-31')
GROUP BY stunden.projekt_id 
das hat aber leider nicht funktioniert (die Meldung "invalid use of group function" kommt).
Klar, das Group by beißt sich mi dem SUM.
Aber wie genau macht man dann sowas?

Ich hab auch probiert, einen neuen Query um den oberen zu schnüren, also
PHP-Code:
SELECT SUM(alter query) as Summe 
Aber auch das geht nicht.

Bin für jeden Tipp dankbar.

Viele Grüße

Daniel
Mit Zitat antworten