📜  classement rang mysql 7 - SQL (1)

📅  最后修改于: 2023-12-03 15:14:09.998000             🧑  作者: Mango

Classement rang MySQL 7 - SQL

Introduction

Le classement rang est une fonctionnalité d'agrégation qui permet de classer les résultats d'une requête en fonction d'un critère donné. En utilisant la syntaxe « OVER ( ) », nous pouvons ajouter une colonne supplémentaire qui contient le classement de chaque ligne en fonction de ce critère.

Dans MySQL 7, cette fonctionnalité peut être utilisée avec le nouveau concept de « fenêtres ». Une fenêtre est une façon de définir un groupe de lignes sur lequel une fonction d'agrégation doit être appliquée. Le classement rang peut être utilisé avec une fenêtre pour classer les résultats d'une requête de manière spécifique.

Syntaxe

La syntaxe générale de la commande pour le classement rang est :

RANK() OVER ( [PARTITION BY partition_expression, ... [n] ]
             ORDER BY sort_expression [ASC | DESC], ... [n] )
  • La clause « PARTITION BY » est utilisée pour diviser les résultats de la requête en groupes selon un ou plusieurs critères.
  • La clause « ORDER BY » est utilisée pour spécifier l'ordre dans lequel les résultats doivent être triés avant le classement rang.
  • Le « ( ) » entourant les expressions spécifient la fenêtre sur laquelle la fonction d'agrégation doit être appliquée.
Exemple

Pour mieux comprendre le classement rang, voici un exemple simple qui suppose que nous avons une table nommée « scores » qui contient les noms et les scores des joueurs dans un jeu vidéo :

SELECT name, score, RANK() OVER (ORDER BY score DESC) AS class
FROM scores;

Cette requête devrait retourner une liste triée des résultats, classée en fonction du score de chaque joueur, avec une colonne supplémentaire indiquant le classement de chaque joueur par rapport aux autres joueurs.

Résultat :

| name | score | class | |---------|-------|-------| | John | 10000 | 1 | | Lisa | 8000 | 2 | | Mike | 7000 | 3 | | Sarah | 7000 | 3 | | Ricardo | 6000 | 5 | | Maria | 5000 | 6 |

Conclusion

Le classement rang est une fonctionnalité très utile pour les développeurs qui ont besoin de trier leurs résultats en fonction de critères spécifiques. Avec l'utilisation de fenêtres, le classement rang est encore plus flexible et peut être utilisé avec des requêtes plus complexes. En utilisant la syntaxe décrite dans cet article, les développeurs pourront facilement ajouter des informations de classement à leurs résultats de requête.