[LeetCode] 177.N-höchstes GehaltSchreiben Sie eine SQL-Abfrage, um das n -te höchste Gehalt aus der Mitarbeitertabelle abzurufen.
Beispielsweise beträgt in der obigen Mitarbeitertabelle das n-höchste Gehalt bei n = 2 200. Wenn es kein n-höchstes Gehalt gibt, sollte die Abfrage null zurückgeben. Diese Frage ist eine Erweiterung der vorherigen Frage zum zweithöchsten Gehalt. Basierend auf dem Ansatz der vorherigen Frage können wir sie leicht auf N erweitern. Gemäß der Analyse von Lösung 1 im zweithöchsten Gehalt müssen wir nur die 1 nach OFFSET in N-1 ändern. MySQL wird jedoch einen Fehler melden, wahrscheinlich weil es die Operation nicht unterstützt. Dann können wir ein SET N = N - 1 davor hinzufügen, um zuerst N in N-1 zu ändern und dann dasselbe zu tun: Lösung 1: Funktion erstellen getNthHighestSalary(N INT) gibt INT zurück BEGINNEN Satz N = N - 1; ZURÜCKKEHREN ( SELECT DISTINCT Gehalt FROM Mitarbeiter GROUP BY Gehalt ORDER BY Gehalt DESC LIMIT 1 OFFSET N ); ENDE Laut der Analyse von Lösung 4 im zweithöchsten Gehalt müssen wir nur 1 in N-1 ändern. Hier unterstützen wir jedoch die Berechnung von N-1. Siehe den Code unten: Lösung 2: Funktion erstellen getNthHighestSalary(N INT) gibt INT zurück BEGINNEN ZURÜCKKEHREN ( SELECT MAX(Gehalt) FROM Mitarbeiter E1 WO N - 1 = (SELECT COUNT(DISTINCT(E2.Gehalt)) FROM Mitarbeiter E2 WO E2.Gehalt > E1.Gehalt) ); ENDE Natürlich können wir auch das letzte > in >= ändern, sodass wir N-1 durch N ersetzen können: Lösung 3: Funktion erstellen getNthHighestSalary(N INT) gibt INT zurück BEGINNEN ZURÜCKKEHREN ( SELECT MAX(Gehalt) FROM Mitarbeiter E1 WO N = (SELECT COUNT(DISTINCT(E2.Gehalt)) FROM Mitarbeiter E2 WO E2.Gehalt >= E1.Gehalt) ); ENDE Ähnliche Themen: Zweithöchstes Gehalt Quellen: https://leetcode.com/discuss/88875/simple-answer-with-limit-and-offset https://leetcode.com/discuss/63183/fastest-solution-without-using-order-declaring-variables Dies ist das Ende dieses Artikels über die SQL-Implementierung von LeetCode (177. Das N-te höchste Gehalt). Weitere relevante Inhalte zur SQL-Implementierung des N-ten höchsten Gehalts finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Das englische Lesen verschiedener Sonderzeichen auf der Tastatur (Wissenspopularisierung)
>>: Docker-Container erklärt ausführlich, wie man das Image vereinfacht und die Größe reduziert
3D-Koordinatenkonzept Wenn sich ein Element dreht...
Im Internet kursieren viele scheinbar wahre „Gerü...
In diesem Artikelbeispiel wird der spezifische JS...
Bisher wurden die von uns verwendeten Images alle...
Inhaltsverzeichnis 1. Über die visuelle Schnittst...
Inhaltsverzeichnis Stellen Sie httpd mit dem Quel...
Inhaltsverzeichnis Vorwort Optimierung Ableitungs...
Wenn Server B (172.17.166.11) eingeschaltet oder ...
1. Was ist Phantomlesen? Wenn bei einer Transakti...
Inhaltsverzeichnis 1. Der Ursprung der Gabel 2. F...
Hallo zusammen, ich bin Liang Xu. Wie wir alle wi...
Inhaltsverzeichnis 1. Automatische Installation m...
Inhaltsverzeichnis Stabilisierung Drosselung Zusa...
Inhaltsverzeichnis 1. Einleitung 1. Grundlayout 2...
Originallink: https://vien.tech/article/157 Vorwo...