Finden Sie das maximale und das zweithöchste Gehalt für eine Mitarbeitertabelle in MySQL

Angenommen, Sie erhalten die folgende einfache Datenbanktabelle mit dem Namen Employee, die zwei Spalten mit den Namen Employee ID und Salary enthält:

  Employee
  Employee ID    Salary
   3            200
   4            800
   7            450

Ich möchte eine Anfrage schreiben und als max_salary, 2nd_max_salary vom Angestellten max (Gehalt) auswählen

dann sollte es zurückkehren

  max_salary   2nd_max_salary
   800             450

Ich weiß, wie man das zweithöchste Gehalt findet

   SELECT MAX(Salary) FROM Employee
  WHERE Salary NOT IN (SELECT MAX(Salary) FROM Employee )

oder um die nte zu finden

  SELECT FROM Employee Emp1 WHERE (N-1) = ( SELECT COUNT(DISTINCT(Emp2.Salary)) FROM Employee Emp2
  WHERE Emp2.Salary > Emp1.Salary)

aber ich kann nicht herausfinden, wie man diese 2 Ergebnisse für das gewünschte Ergebnis verbindet

Antworten auf die Frage(30)

Ihre Antwort auf die Frage