Category - sql query to find second highest salary of employee

Teil 1 So finden Sie das n-te höchste Gehalt in SQL

Teil 1 So finden Sie das n-te höchste Gehalt in SQL

Link für alle Wiedergabelisten des dot net- und sql server-Video-Tutorials http://www.youtube.com/user/kudvenkat/playlists Link für Folien, Codebeispiele und Textversion des Videos http: //csharp-video-tutorials.blogspot. com / 2014/05 / part-1-how-to-find-nth-highest-salary_17.html Dies ist eine sehr häufige SQL Server-Interview-Frage. Es gibt mehrere Möglichkeiten, das n-te höchste Gehalt zu ermitteln. Am Ende dieses Videos können wir auch alle folgenden Fragen beantworten. Ermitteln des zweithöchsten Gehalts in SQL Server mithilfe einer Unterabfrage Ermitteln des zweithöchsten Gehalts in SQL Server mithilfe eines CTE Ermitteln des zweit-, dritt- oder 15.höchsten Gehalts Verwenden Sie für diese Demo die folgende Employees-Tabelle. Verwenden Sie das folgende Skript Erstellen einer Employees-Tabelle Erstellen einer Tabelle Employees (ID mit Primärschlüsselidentität, Vorname nvarchar (50), Nachname nvarchar (50), Geschlecht nvarchar (50), Gehalt int) GO In Employees-Werte einfügen (‘Ben’, ‘Hoskins’, ‘ Männlich, 70000) In Mitarbeiterwerte einfügen (‘Mark’, ‘Hastings’, ‘Männlich’, 60000) In Mitarbeiterwerte einfügen (‘Steve’, ‘Pfund’, ‘Männlich’, 45000) In Mitarbeiterwerte einfügen (‘Ben ‘,’ Hoskins ‘,’ Male ‘, 70000) In Mitarbeiterwerte einfügen (‘ Philip ‘,’ Hastings ‘,’ Male ‘, 45000) In Mitarbeiterwerte einfügen (‘ Mary ‘,’ Lambeth ‘,’ Female ‘, 30000) In Mitarbeiterwerte einfügen (‘Valarie’, ‘Vikings’, ‘Female’, 35000) In Mitarbeiterwerte einfügen (‘John’, ‘Stanmore’, ‘Male’, 80000) GO Um das höchste Gehalt zu finden, ist es ganz einfach. Wir können einfach die Max () – Funktion verwenden, wie unten gezeigt. Wählen Sie Max (Gehalt) unter Mitarbeiter aus. Um das zweithöchste Gehalt zu erhalten, verwenden Sie eine Unterabfrage zusammen mit der Funktion Max (), wie unten gezeigt. Wählen Sie Max (Gehalt) von Mitarbeitern aus, bei denen Gehalt [(Wählen Sie Max (Gehalt) von Mitarbeitern aus) Um das n-te höchste Gehalt mithilfe der Unterabfrage zu ermitteln, wählen Sie TOP 1-GEHALT AUS (WÄHLEN SIE UNTERSCHIEDLICHES TOP N-GEHALT VON MITARBEITERN AUS, BESTELLEN SIE NACH GEHALT DESC). ERGEBNIS NACH GEHALT Um mit CTE WITH RESULT AS (GEHALT AUSWÄHLEN, DENSE_RANK () ÜBER (ORDER BY SALARY DESC) ALS DENSERANK VON MITARBEITERN) das n-te höchste Gehalt zu ermitteln, wählen Sie TOP 1-GEHALT AUS RESULT, WENN DENSERANK = N. Um das zweithöchste Gehalt zu ermitteln, können wir eines der folgenden verwenden: oben genannten Fragen. Einfach N durch 2 ersetzen. Um das dritthöchste Gehalt zu finden, einfach N durch 3 ersetzen. Hinweis: Auf vielen Websites haben Sie möglicherweise festgestellt, dass die folgende Abfrage verwendet werden kann, um das dritthöchste Gehalt zu erhalten. Die folgende Abfrage funktioniert nur, wenn keine Duplikate vorhanden sind. MIT ERGEBNIS ALS (GEHALT AUSWÄHLEN, REIHENNUMMER () ÜBER (AUFTRAG NACH GEHALTSABSCHLUSS) ALS ZAHL VON MITARBEITERN) AUSGEWÄHLTES GEHALT AUS ERGEBNIS WENN ZAHL = 3