NTILE(Transact-SQL)
정렬된 파티션의 행을 지정된 수의 그룹으로 분산시킵니다. 그룹에는 1부터 시작하는 번호가 매겨집니다. NTILE은 각 행에서 해당 행이 속한 그룹 번호를 반환합니다.
https://learn.microsoft.com/ko-kr/sql/t-sql/functions/ntile-transact-sql?view=sql-server-ver16
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)
'프로그래밍 > DataBase' 카테고리의 다른 글
MSSQL 탭( char(9) )과 엔터값( char(10) + char(13) ) 찾아보기 (0) | 2023.06.09 |
---|---|
[MSSQL] 정렬조건없이 순번 매기기 , row_number() rank, dense_rank (0) | 2023.06.05 |
데이터 분석가 나도 시작할 수 있을까? (역량, 공부) (0) | 2023.01.19 |
[MSSQL] STRING_AGG(Transact-SQL) 문자열 식의 값을 연결하고 그 사이에 구분 기호 값을 추가 (0) | 2023.01.17 |
[MSSQL] STRING_SPLIT(Transact-SQL) 지정된 구분 기호 문자에 따라 문자열을 부분 문자열의 행으로 분할하는 테이블 반환 함수 (0) | 2023.01.17 |