"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment classer les clients dans MySQL en utilisant des variables et des fonctions de fenêtre?

Comment classer les clients dans MySQL en utilisant des variables et des fonctions de fenêtre?

Publié le 2025-02-06
Parcourir:711

How to Rank Customers in MySQL Using Variables and Window Functions?

Explication détaillée de la méthode de classement des clients MySQL

]

L'attribution de classements basée sur des critères spécifiques est une tâche courante lors du traitement des données des clients. MySQL fournit plusieurs façons d'atteindre cet objectif.

Une méthode consiste à utiliser des variables de classement, comme indiqué dans la requête suivante:

SELECT    first_name,
          age,
          gender,
          @curRank := @curRank   1 AS rank
FROM      person p, (SELECT @curRank := 0) r
ORDER BY  age;

Ici, la variable @currank est initialisée à 0 et est ensuite incrémentée pour chaque ligne du tableau. Cela nous permet d'attribuer des classements en fonction de l'âge de nos clients.

Une autre façon est d'utiliser la fonction ROW_NUMBER (), qui renvoie un numéro de commande unique pour chaque ligne de la partition. La requête suivante démontre son utilisation:

SELECT    first_name,
          age,
          gender,
          ROW_NUMBER() OVER (PARTITION BY gender ORDER BY age) AS rank
FROM      person;

Dans cette requête, la fonction row_number () attribue des classements dans chaque partition de genre, nous permettant de classer les clients en fonction de l'âge de chaque sexe.

Enfin, la fonction dense_rank () peut être utilisée pour attribuer un classement sans espace. Il saute des classements qui auraient été affectés à des valeurs en double. La requête suivante démontre son utilisation:

SELECT    first_name,
          age,
          gender,
          DENSE_RANK() OVER (PARTITION BY gender ORDER BY age) AS rank
FROM      person;

En sélectionnant la fonction de classement appropriée, les développeurs peuvent affecter efficacement les classements aux données client dans MySQL à diverses fins analytiques.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3