Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Ранжирующие функции возвращают ранжирующее значение для каждой строки в секции. В зависимости от используемой функции значения некоторых строк могут совпадать. Ранжирующие функции являются недетерминированными.
TransactSQL предлагает следующие ранжирующие функции:
Примеры
В следующем примере показано использование четырех ранжирующих функций в одном запросе. Примеры по каждой ранжирующей функции см. в посвященных им статьях.
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;
Вот результирующий набор.
| FirstName | LastName | Номер строки | Rank | Плотный ранг | Quartile | SalesYTD | PostalCode |
|---|---|---|---|---|---|---|---|
| Николай | Blythe | 1 | 1 | 1 | 1 | 4557045,0459 | 98027 |
| Лиза | 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 |
| Дэвид | 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 | Варкей Чудукатил | 13 | 6 | 2 | 4 | 3827950,238 | 98055 |
См. также
Встроенные функции (Transact-SQL)
Предложение OVER (Transact-SQL)