NTILE
NTILE (버킷 분할)
파티션 안의 정렬된 행을 지정된 개수의 버킷(그룹)으로 최대한 균등하게 나누고, 각 행이 속한 버킷 번호(1부터 시작)를 반환해요.
본문
구문 (Syntax)
NTILE( <constant_expr> ) OVER ( [ PARTITION BY <expr1> ] ORDER BY <expr2> [ { ASC | DESC } ] )
인자 (Arguments)
constant_expr
생성할 버킷(그룹)의 개수를 지정하는 양의 정수 상수 표현식이에요.
반환 값 (Returns)
행이 속한 버킷 번호(1부터 constant_expr까지)를 정수로 반환해요.
사용 참고 사항 (Usage notes)
- OVER 절이 필요해요.
- 반환될 버킷 번호는 각 행의 순서 위치를 기준으로 계산돼요.
예시 (Examples)
SELECT emp_id, NTILE(2) OVER (ORDER BY salary DESC) AS bucket
FROM employees;
+--------+--------+
| EMP_ID | BUCKET |
|--------+--------|
| 100 | 1 |
| 101 | 1 |
| 102 | 2 |
+--------+--------+
더 알아보기 (Learn more)
- Window function syntax and usage — 창 함수 구문
- ROW_NUMBER — 행 번호
- RANK — 순위