Differenzen zwischen verschiedenen gruppen (SQL)
-
Hallo,
also ich hab folgende Tabellenstruktur (SQL):Tabelle Log:
Name |StTime|EndTime ----------------------- Alex |1 |5 Florian |3 |4 Dieter |2 |38 Alex |8 |17
....
Im Moment benutze ich folgende Abfrage umd die Gesamtzeiten aller Benutzer zu
ermitteln:SELECT Name, SUM(EnTime-StTime) as "Zeit" FROM Log GROUP BY Name ORDER BY Zeit DESC
Jetzt möchte ich die Differenz der Gesamtzeit eines Benutzers in Bezug auf die Gesamtzeiten alle anderen Wissen.
Also z.B.:Benutzer: Alex (hat im obrigen beispiel die Gesamtzeit von (5-1)+(17-8)=13 )
Erwartete Ausgabe:
Benutzer | Differenz -------------------- Dieter | 23 Florian | -12
Das bedeutet Dieter hat 23 mehr und Florian 12 weniger als alex.
Wie muss ich vorgehen um dieses Problem zu lösen?
Ps: ich freue mich auch über Links und Funktionsnamen
-
ein wenig in etwa, nur musst du dir alex noch rausfischen, der wird mit ausgewertet (mach einen inneren select)
SELECT name, SUM( entime - sttime - (
SELECT SUM( entime - sttime )
FROM log
WHERE name = 'Alex' ) ) AS "Zeit"
FROM log
GROUP BY name
ORDER BY Zeit DESC
-
Herzlichen Dank dir