Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MAX-Funktion, die mit der GROUP BY-Klausel verwendet wird

Zuerst müssen Sie das maximale Gehalt für jede Abteilung erhalten:

SELECT department, max(salary) as max_salary
FROM test
GROUP BY department

dann können Sie diese Unterabfrage wieder mit der Testtabelle verbinden:

SELECT t.*
FROM
  test t INNER JOIN (
    SELECT department, max(salary) as max_salary
    FROM test
    GROUP BY department
  ) d ON t.department=d.department AND t.salary=d.max_salary