Team: MySQL - GROUP

Beitrag lesen

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! ;-)