SQL-Abfrage zum finden der N-te höchste Gehalt aus einer Gehalts-Tabelle
jemand mir helfen zu finden out N-te höchste Gehalt vom Gehalt Tabelle in MYSQL
Einfach ich habe eine Mitarbeiter-Tabelle mit über 100 Mitarbeitern name und sein Gehalt. Ich wollen zu 2. oder 3. (ich.e nth) höchste Gehalt aus der Tabelle.
möglich, Duplikat der SQL-Abfrage zum finden der N-te höchste Gehalt aus einer Gehalts-Tabelle
möglich, Duplikat der SQL-Abfrage zum finden der N-te höchste Gehalt aus einer Gehalts-Tabelle
InformationsquelleAutor jauwad | 2012-08-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese wäre n das N-te Element, das Sie möchten, um zurückzukehren
SELECT DISTINCT(Salary) FROM table ORDER BY Salary DESC LIMIT (n-1),1
InformationsquelleAutor babooney
Wenn Sie wollen finden der N-te Gehalt aus einer Tabelle (hier n sollte eine Sache wie 1. oder 2. oder 15 höchsten Gehälter)
Das ist die Abfrage für das finden der N-te Gehalt:
Wenn Sie möchten finden 8. höchste Gehalt, Abfrage :
Hinweis: OFFSET startet von 0. position, und daher ist die Verwendung von N-1-Regel hier
SELECT DISTINCT Salary FROM tblemployee ORDER BY Salary DESC LIMIT 1 OFFSET (n -1)
da Sie auch erwähnt, dass das offset von 0 startet, sollten Sie vermeiden, dassDanke!! für die Erwähnung, dass das offset von 0 startet , verwirrt früher 🙂
InformationsquelleAutor Hareesh
Zu erhalten N-te höchste Gehalt müssen Sie zuerst Sortieren von Daten mithilfe
ORDER BY
und wählen Sie dann die N-te höchste Datensatz mitLIMIT
mitOFFSET
.hey, es sollte sein LIMIT 1 OFFSET (n - 1). versuchen Sie es.
Hallo Ihr auch nicht die Arbeit seiner Anzeige von Fehlern an (n - 1)
Sie müssen ersetzen Sie n durch eine Zahl wie 4 für die 4. höchsten Lohn und vergessen Sie nicht, zu kommentieren und zu akzeptieren beantworten.
ja, ich mache in der gleichen Weise, die ich ersetzen Sie n mit einigen integer-Zahl, d.h. 3 oder 4, aber nicht unter minus(-), wenn ich 4 statt (4 -1), dann wird der Fehler nicht angezeigt wird aber das Ergebnis wird die Anzeige der 3. höchsten nicht, der 4. höchsten.
InformationsquelleAutor Omesh
Für jeden Datensatz verarbeitet, die von äußeren Abfrage, innere Abfrage wird ausgeführt, und zurück, wie viele Aufzeichnungen der Aufzeichnungen hat, hat weniger Gehalt als das aktuelle Gehalt. Wenn Sie auf der Suche für die zweite höchste Gehalt dann wird die Abfrage zu stoppen, sobald die innere Abfrage N-1.
InformationsquelleAutor Abhishek Kulkarni
versuchen Sie dies:
InformationsquelleAutor Joe G Joseph
finden, die den höchsten Gehalt
finden die 2. höchste Gehalt
Abfrage-1
Abfrage-2
finden der N-TEN höchsten Gehalt
Abfrage-1
Abfrage-2
nth höchsten Gehalt mit der TOP-Schlüsselwort in SQL Server
Finden Sie die N-te höchste Gehalt in MySQL
Finden der N-TEN höchsten Gehalt in der SQL Server -
Finden Sie die N-te höchste Gehalt in Oracle mit rownum
Finden Sie die N-te höchste Gehalt in Oracle mit RANG
InformationsquelleAutor ravi
wenn wanna angegebenen N-TEN höchsten ist,könnte die Rang-Methode.
Den Dritten höchsten, verwenden Sie
Nur hingewiesen. und geändert. vielen Dank für bemerken.
InformationsquelleAutor sel
Versuchen, diese ein für die Suche nach 5. höchste Gehalt
für die N-te Lohn-
Ich habe es versucht auf phpmyadmin panel..
InformationsquelleAutor Varun
InformationsquelleAutor Nilesh Gosai
Sortieren alle Datensätze zunächst nicht viel Zeit in Anspruch nehmen (Stell dir vor, die Tabelle enthält Millionen von Datensätzen).
Jedoch der trick ist, zu tun, eine verbesserte linear-Suche.
Hier, sobald die innere Abfrage findet n unterscheidbaren Gehalts-Werte, die größer als die äußeren Abfrage-Gehalt, es gibt das Ergebnis an die äußere Abfrage.
Mysql haben eindeutig erwähnt, über diese Optimierung bei http://dev.mysql.com/doc/refman/5.6/en/limit-optimization.html
Obige Abfrage kann auch geschrieben werden als,
Wieder, wenn die Abfragen sind so einfach wie auf eine einzige Tabelle und benötigt für die nur zu Informationszwecken, dann könnte man die Grenze der äußersten Abfrage zurück 1 Datensatz und führen Sie eine separate Abfrage, indem die N-te höchste Gehalt in der where-Klausel
Dank Abishek Kulkarni Lösung, auf die sich diese Optimierung vorgeschlagen.
InformationsquelleAutor user3201336
MySQL-Abfrage zum finden der N-te höchste Gehalt Gehalt Tabelle(100% wahr)
SELECT Gehalt FROM Mitarbeiter ORDER BY Gehalt DESC LIMIT N-1,1;
InformationsquelleAutor user3143552
wo N steht für die N-te höchste Gehalt ..
Dritte höchste Gehalt :
InformationsquelleAutor rajesh
Die Abfrage, um die höchsten N-TEN Datensatz ist wie folgt:
Es ist einfach und leicht zu verstehen
Dies funktioniert nicht in Mysql 5.7 zu BEGRENZEN, darf nicht in die Unterabfrage.
InformationsquelleAutor Aman Maurya
Für die 4. höchste Gehalt:
select min(Gehalt) from (select distinct salary from hibernatepractice.Mitarbeiter e order by Gehalt desc limit 4) e1;
Für n th höchste Gehalt:
select min(Gehalt) from (select distinct salary from hibernatepractice.Mitarbeiter e order by Gehalt desc limit n), e1;
InformationsquelleAutor hazera
Das Gehalt Tabelle
Oder
InformationsquelleAutor Shourob Datta
Diese arbeiten Zu finden, die N-te maximale Anzahl
Für die fünftgrößte Anzahl
InformationsquelleAutor Faizal R
=>dies ist für das 3. höchste Gehalt.
für die N-te ersetzen 3 Wert. zum Beispiel 5. höchste:
InformationsquelleAutor arvind soni
InformationsquelleAutor Vik2696
InformationsquelleAutor arvind soni
Bekommen 2. höchste Gehalt:
Zu erhalten N-te höchste Gehalt:
InformationsquelleAutor selvan
Versuchen, diese Lösung.
InformationsquelleAutor vignesh
Let there be Tabelle
salaries
mitDurch Geschachtelte Abfragen: (wo kann man die ändern, offset-0/1/2... für den ersten, zweiten und Dritten... Platz jeweils)
oder sein könnte, durch die Schaffung Rang: (wo kann man die ändern Rang= 1/2/3... für den ersten, zweiten und Dritten... Platz jeweils)
InformationsquelleAutor Somendra Joshi
Wenn Sie möchten, bekommen Sie alle Datensätze der Mitarbeiter hat die dritthöchste Gehalt können Sie dieses
sql
- Abfrage:Tabelle-name: Gehalt
InformationsquelleAutor Dipak Burnwal