Fonctions de classement (Transact-SQL)
S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Point de terminaison analytique SQL dans Microsoft FabricEntrepôt dans Microsoft Fabric
Les fonctions de classement renvoient une valeur de classement pour chaque ligne d'une partition. Selon la fonction utilisée, certaines lignes peuvent recevoir la même valeur que d'autres lignes. Les fonctions de classement sont non déterministes.
Transact-SQL offre les fonctions de classement suivantes :
Exemples
Dans l’exemple suivant, les quatre fonctions de classement sont utilisées dans la même requête. Pour consulter des exemples spécifiques à ces fonctions, consultez les rubriques consacrées à chacune d’elles.
USE AdventureWorks2022;
GO
SELECT p.FirstName, p.LastName
,ROW_NUMBER() OVER (ORDER BY a.PostalCode) AS "Row Number"
,RANK() OVER (ORDER BY a.PostalCode) AS Rank
,DENSE_RANK() OVER (ORDER BY a.PostalCode) AS "Dense Rank"
,NTILE(4) OVER (ORDER BY a.PostalCode) AS Quartile
,s.SalesYTD
,a.PostalCode
FROM Sales.SalesPerson AS s
INNER JOIN Person.Person AS p
ON s.BusinessEntityID = p.BusinessEntityID
INNER JOIN Person.Address AS a
ON a.AddressID = p.BusinessEntityID
WHERE TerritoryID IS NOT NULL AND SalesYTD <> 0;
Voici le jeu de résultats obtenu.
FirstName | LastName | Row Number | Rank | Dense Rank | Quartile | SalesYTD | PostalCode |
---|---|---|---|---|---|---|---|
Michael | Blythe | 1 | 1 | 1 | 1 | 4557045,0459 | 98027 |
Linda | Mitchell | 2 | 1 | 1 | 1 | 5200475,2313 | 98027 |
Jillian | Carson | 3 | 1 | 1 | 1 | 3857163,6332 | 98027 |
Garrett | Vargas | 4 | 1 | 1 | 1 | 1764938,9859 | 98027 |
Tsvi | Reiter | 5 | 1 | 1 | 2 | 2811012,7151 | 98027 |
Shu | Ito | 6 | 6 | 2 | 2 | 3018725,4858 | 98055 |
José | Saraiva | 7 | 6 | 2 | 2 | 3189356,2465 | 98055 |
David | Campbell | 8 | 6 | 2 | 3 | 3587378,4257 | 98055 |
Tete | Mensa-Annan | 9 | 6 | 2 | 3 | 1931620,1835 | 98055 |
Lynn | Tsoflias | 10 | 6 | 2 | 3 | 1758385,926 | 98055 |
Rachel | Valdez | 11 | 6 | 2 | 4 | 2241204,0424 | 98055 |
Jae | Pak | 12 | 6 | 2 | 4 | 5015682,3752 | 98055 |
Ranjit | Varkey Chudukatil | 13 | 6 | 2 | 4 | 3827950,238 | 98055 |
Voir aussi
Fonctions intégrées (Transact-SQL)
OVER Clause (Transact-SQL)
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour