Funciones de categoría (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento en Microsoft Fabric
Las funciones de categoría devuelven un valor de categoría para cada fila de una partición. Según la función que se utilice, algunas filas pueden recibir el mismo valor que otras. Las funciones de categoría son no deterministas.
Transact-SQL proporciona las siguientes funciones de categoría:
Ejemplos
En el ejemplo siguiente se muestran las cuatro funciones de categoría usadas en la misma consulta. Consulte cada función de categoría para ver ejemplos específicos de las funciones.
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;
Este es el conjunto de resultados.
Nombre | Apellidos | Row Number | Rank | Dense Rank | Quartile | SalesYTD | PostalCode |
---|---|---|---|---|---|---|---|
Michael | Blythe | 1 | 1 | 1 | 1 | 4 557 045,0459 | 98027 |
Linda | Mitchell | 2 | 1 | 1 | 1 | 5 200 475,2313 | 98027 |
Jillian | Carson | 3 | 1 | 1 | 1 | 3 857 163,6332 | 98027 |
Garrett | Vargas | 4 | 1 | 1 | 1 | 1 764 938,9859 | 98027 |
Tsvi | Reiter | 5 | 1 | 1 | 2 | 2 811 012,7151 | 98027 |
Shu | Ito | 6 | 6 | 2 | 2 | 3 018 725,4858 | 98055 |
José | Saraiva | 7 | 6 | 2 | 2 | 3 189 356,2465 | 98055 |
David | Campbell | 8 | 6 | 2 | 3 | 3 587 378,4257 | 98055 |
Tete | Mensa Annan | 9 | 6 | 2 | 3 | 1 931 620,1835 | 98055 |
Lynn | Tsoflias | 10 | 6 | 2 | 3 | 1 758 385,926 | 98055 |
Rachel | Valdez | 11 | 6 | 2 | 4 | 2 241 204,0424 | 98055 |
Jae | Pak | 12 | 6 | 2 | 4 | 5 015 682,3752 | 98055 |
Ranjit | Varkey Chudukatil | 13 | 6 | 2 | 4 | 3 827 950,238 | 98055 |
Consulte también
Funciones integradas (Transact-SQL)
Cláusula OVER (Transact-SQL)