Maison > base de données > tutoriel mysql > Comment puis-je trouver le deuxième salaire le plus élevé en SQL à l'aide de fonctions analytiques ?

Comment puis-je trouver le deuxième salaire le plus élevé en SQL à l'aide de fonctions analytiques ?

DDD
Libérer: 2025-01-07 18:18:39
original
550 Les gens l'ont consulté

How Can I Find the Second Highest Salary in SQL Using Analytic Functions?

Utilisez les fonctions analytiques SQL pour trouver le deuxième salaire le plus élevé

Comment récupérer facilement le deuxième salaire le plus élevé de la table de la base de données des employés ?

Réponse :

Les fonctions analytiques d'Oracle apportent une solution à cette tâche. La requête SQL suivante utilise ces fonctions pour identifier le deuxième salaire le plus élevé :

<code class="language-sql">SELECT * FROM
(
  SELECT sal, DENSE_RANK() OVER (ORDER BY sal DESC) AS rnk
  FROM
  (
    SELECT DISTINCT sal
    FROM emp
  )
)
WHERE rnk = 2</code>
Copier après la connexion

Cette requête utilise la fonction DENSE_RANK() pour attribuer des classements consécutifs aux salaires par ordre décroissant. La clause WHERE filtre ensuite les résultats pour récupérer la ligne avec rnk = 2, qui représente le deuxième salaire le plus élevé.

Autres notes :

Lors de la sélection d'autres informations, le choix de la fonction d'analyse affectera les résultats. En cas d'égalité, RANK() ignorera le classement et ROW_NUMBER() renverra l'employé suivant. Dans ce cas, DENSE_RANK() est généralement préféré.

Le choix de la fonction d'analyse dépend en fin de compte des besoins spécifiques de l'entreprise et de la manière de gérer les situations d'égalité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal