Comment trouver Nth plus haut salaire sans utiliser de sous-requête dans MS SQL?Requête SQL pour trouver Nième salaire le plus élevé
Répondre
;WITH cte1
AS
(
SELECT ROW_NUMBER() OVER(ORDER BY SALARY DESC) AS RN, * FROM Salaries
)
SELECT *
FROM cte1
WHERE RN = 5 <-- Nth highest
'ROW_NUMBER()' n'est peut-être pas ce qui est voulu ici. 'RANK()' ou 'DENSE_RANK()' peut être plus approprié en fonction des besoins. –
DENSE_RANK(), dans mon cas donne 2 lignes. alors devrais-je distinct dans ce cas? –
@Xou cela dépend de vos besoins, quels résultats voulez-vous voir si deux personnes ont le même salaire autour du Nième point? –
Vérifiez la fonction row_number. :)
- 1. requête SQL pour trouver Nième salaire le plus élevé d'une table de salaire
- 2. SQL Server 2005/2008 Trouver nième plus haut salaire
- 3. Comment trouver l'employé avec le deuxième salaire le plus élevé?
- 4. le plus élevé de salaire sage +2000
- 5. Comment trouver cinquième salaire le plus élevé en une seule requête dans SQL Server
- 6. Obtenez le deuxième salaire le plus élevé de chaque deptno
- 7. Requête SQL pour trouver le salaire le mieux payé pour chaque lanauge
- 8. Je veux trouver la personne avec le 22e salaire le plus élevé
- 9. Trouver le bit le plus élevé
- 10. Afficher le nom et le salaire du salarié gagnant le plus élevé sans utiliser de sous-requête
- 11. Obtenez le deuxième salaire le plus élevé des employés utilisant LINQ
- 12. sql - trouver le salaire moyen pour chaque département avec plus de cinq membres
- 13. Comment trouver le salaire double
- 14. obtenir le nombre le plus élevé sur une requête SELECT?
- 15. Trouver l'ID utilisateur le plus élevé dans Mac OS X
- 16. SQL Sélection de l'enregistrement avec l'ID le plus élevé
- 17. Requête SQL pour trouver le poids total
- 18. SQL - Comment trouver le nombre le plus élevé dans une colonne?
- 19. SQL: Obtenir l'enregistrement complet avec le nombre le plus élevé
- 20. requête SQL pour afficher le nom, l'emploi, le salaire du nom du département et le grade
- 21. département troisième plus haut salaire sage sans utiliser le rang ou d'autres fonctions
- 22. requête SQL pour trouver l'heure la plus populaire
- 23. Requête SQL pour trouver une valeur apparaissant plus d'une fois
- 24. SQL ORDER BY deux colonnes, selon le plus élevé
- 25. requête SQL pour trouver le groupe
- 26. Afficher uniquement la ligne avec l'ID le plus élevé? (SQL)
- 27. SQL Server Trouver Suivant Enregistrement modifié le plus récent
- 28. Afficher le nom de l'employé, le salaire total de chaque employé (salaire total = salaire + commission)
- 29. Nième plus grand élément d'une table de requêtes SQL
- 30. Réflexion sur les propriétés pour le niveau le plus élevé
La question est vague. Postez votre schéma de tables. –
Et si deux personnes avaient le même salaire autour du point N? Par exemple: quel devrait être le quatrième élément de cette liste ordonnée? 10 9 8 8 8 7 7 7 6 5 –
@fearofawhackplanet vrai mais la question que vous liez ne spécifie pas la version de SQL Server (sauf dans un commentaire) donc les réponses n'utilisent pas les fonctions de fenêtrage potentiellement plus efficaces/plus claires disponible depuis SQL Server 2005. –