[MSSQL] NTILE(Transact-SQL)
NTILE(Transact-SQL)
정렬된 파티션의 행을 지정된 수의 그룹으로 분산시킵니다. 그룹에는 1부터 시작하는 번호가 매겨집니다. NTILE은 각 행에서 해당 행이 속한 그룹 번호를 반환합니다.
https://learn.microsoft.com/ko-kr/sql/t-sql/functions/ntile-transact-sql?view=sql-server-ver16
NTILE(Transact-SQL) - SQL Server
NTILE(Transact-SQL)
learn.microsoft.com
USE AdventureWorks2012;    
GO   
SELECT p.FirstName, p.LastName   
    ,NTILE(4) OVER(ORDER BY SalesYTD DESC) AS Quartile   
    ,CONVERT(NVARCHAR(20),s.SalesYTD,1) AS 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;   
GO
FirstName      LastName              Quartile  SalesYTD       PostalCode   
-------------  --------------------- --------- -------------- ----------   
Linda          Mitchell              1         4,251,368.55   98027   
Jae            Pak                   1         4,116,871.23   98055   
Michael        Blythe                1         3,763,178.18   98027   
Jillian        Carson                1         3,189,418.37   98027   
Ranjit         Varkey Chudukatil     2         3,121,616.32   98055   
José           Saraiva               2         2,604,540.72   98055   
Shu            Ito                   2         2,458,535.62   98055   
Tsvi           Reiter                2         2,315,185.61   98027   
Rachel         Valdez                3         1,827,066.71   98055   
Tete           Mensa-Annan           3         1,576,562.20   98055   
David          Campbell              3         1,573,012.94   98055   
Garrett        Vargas                4         1,453,719.47   98027   
Lynn           Tsoflias              4         1,421,810.92   98055   
Pamela         Ansman-Wolfe          4         1,352,577.13   98027   
(14 row(s) affected)