Maison >base de données >tutoriel mysql >Comment afficher les numéros de ligne pour les valeurs uniques dans SQL ?

Comment afficher les numéros de ligne pour les valeurs uniques dans SQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-25 18:17:11166parcourir

How to Display Row Numbers for Unique Values in SQL?

Affichage des numéros de ligne de valeurs uniques à l'aide de SQL

Le mot-clé DISTINCT dans SQL est utilisé pour récupérer uniquement des valeurs uniques à partir d'une colonne spécifiée. Dans ce cas particulier, vous souhaitez afficher les numéros de ligne des valeurs uniques dans une colonne à l'aide de la fonction ROW_NUMBER().

Cependant, la requête que vous avez fournie :

SELECT DISTINCT id, ROW_NUMBER() OVER (ORDER BY id) AS RowNum
FROM table
WHERE fid = 64

ne renvoie pas les résultats attendus car il élimine efficacement les doublons à l'aide de DISTINCT. En conséquence, il se comporte de la même manière que la requête suivante :

SELECT DISTINCT id FROM table WHERE fid = 64

Pour obtenir le résultat souhaité, vous pouvez utiliser la fonction DENSE_RANK() à la place. DENSE_RANK() attribue des numéros de ligne uniques à chaque valeur distincte dans l'ordre spécifié, même s'il existe des valeurs en double.

Voici la requête modifiée :

SELECT DISTINCT id, DENSE_RANK() OVER (ORDER BY id) AS RowNum
FROM table
WHERE fid = 64

Ceci La requête vous fournira les numéros de ligne correspondant aux valeurs uniques dans la colonne spécifiée pour les lignes satisfaisant la condition WHERE fid = 64.

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