Hallo,
wir lernen gerade das Arbeiten mir MySQL Datenbanken und sind bei einen eigenen Beispielaufgabe auf ein Problem gestoßen bei der Verwendung der GROUP BY FUNKTION.
Wir möchten gerne wissen welcher Mitarbeiter in einer Abteilung das geringste Gehalt bekommt.
id vorname nachname abteilung gehalt
11 Frank Berlin 2 1000.00
10 Marie Meyer 2 123.00
9 Kay Schrck 1 2000.00
5 Otto Müller 3 550.00
4 Fred Feuerstein 2 3500.00
1 Max Mustermann 1 47.00
12 David Meier 3 650.00
13 Peter Mustermann 1 1234.00
---------------------------------------------
SELECT id, gehalt, abteilung, min( gehalt )
FROM mitarbeiter
GROUP BY abteilung;
id gehalt abteilung min( gehalt )
9 2000.00 1 47.00
11 1000.00 2 123.00
5 550.00 3 550.00
---------------------------------------------
SELECT id, gehalt, abteilung, min( gehalt )
FROM mitarbeiter
GROUP BY abteilung
HAVING gehalt = min( gehalt );
id gehalt abteilung min( gehalt )
5 550.00 3 550.00
=> Hier sehen wir nur das ein Ergebnis richtig ist!!
Das Ergebnis der Abfrage von den MIN(Gehalt) ist zwar richtig, aber die in der gleichen Zeile angezeigte ID hat nicht dieses Gehalt, wie Ihr auch sehen könnt.
Wir bitten euch um Hilfe .... Mit besten Dank im vorraus! ;-)