Funciones de categoría (Transact-SQL)
Se aplica a: punto de conexión de SQL Server Azure SQL Database Azure SQL Instancia administrada punto de conexión de SQL Analytics Analytics Platform System (PDW) de SQL Analytics System (PDW) de SQL Server en Microsoft Fabric Warehouse 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;
El conjunto de resultados es el siguiente:
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)