NTILE

NTILE (버킷 분할)

파티션 안의 정렬된 행을 지정된 개수의 버킷(그룹)으로 최대한 균등하게 나누고, 각 행이 속한 버킷 번호(1부터 시작)를 반환해요.

출처: Snowflake SQL Reference - NTILE

본문

구문 (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)