Maison  >  Article  >  base de données  >  Utilisation du classement en SQL

Utilisation du classement en SQL

下次还敢
下次还敢original
2024-05-02 02:30:251135parcourir

La fonction RANK dans SQL classe les lignes après le tri selon la colonne spécifiée. L'ensemble de résultats renvoie le classement de chaque ligne, en commençant par 1, et la même valeur a le même classement. L'expression de partition peut spécifier la colonne de partition et le classement est effectué uniquement au sein de chaque partition. L'expression de tri spécifie la colonne de tri et le classement est déterminé en fonction de l'ordre des données dans cette colonne.

Utilisation du classement en SQL

Utilisation de la fonction RANK dans SQL

La fonction RANK est utilisée pour classer un ensemble de lignes en fonction de l'ordre des données dans une colonne spécifiée. Il s'agit d'une fonction d'agrégation qui renvoie le rang de chaque ligne dans l'ensemble de résultats agrégés.

Syntaxe

<code>RANK() OVER (PARTITION BY partition_expression ORDER BY order_expression)</code>

Parameters

  • partition_expression : Facultatif, spécifie la colonne de partition. Si spécifié, le classement est effectué uniquement au sein de chaque partition.
  • order_expression : Spécifie la colonne de tri. Les lignes seront classées en fonction de l'ordre des données dans cette colonne. La fonction

Return Value

RANK renvoie un entier représentant le classement de chaque ligne. Le classement commence à 1, la première ligne ayant le rang le plus élevé. Si plusieurs lignes ont la même valeur, elles auront le même rang.

Exemple

<code class="sql">SELECT department_id, employee_name, RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank
FROM employee_table;</code>

Résultat

<code>department_id | employee_name | rank
------------- | ------------- | ----
1             | John Smith    | 1
1             | Jane Doe      | 2
2             | Peter Parker  | 1
2             | Mary Johnson | 2</code>

Dans cet exemple, nous trions employee_tabledepartment_id 分区并按 salary par ordre décroissant. Pour chaque département, les salariés sont classés en fonction de leur salaire.

REMARQUE

  • Si aucune expression de partition n'est spécifiée, le classement sera effectué sur l'ensemble du tableau. La fonction
  • RANK est sensible aux valeurs en double. Si plusieurs lignes ont la même valeur, elles auront le même rang.
  • La fonction RANK est similaire à la fonction DENSE_RANK, mais la fonction DENSE_RANK n'ignore pas le classement des valeurs en double.

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!

Déclaration:
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