반응형
특정 컬럼을 기준으로 그룹을 묶을때 사용한다.
사용법은 아래와 같다.
SELECT NTILE([그룹으로 나눌 정수]) OVER (PARTITION BY [컬럼1] ORDER BY [컬럼2])
ID | DATE |
1 | 2023-01-01 |
2 | 2023-01-09 |
3 | 2023-01-03 |
4 | 2023-01-31 |
이런 테이블이 있다고 하고
SELECT ID, DATE, NTILE(2) OVER (DATE ORDER BY DESC) AS NTILE FROM TABLE;
이렇게 해주면 date를 내림차순 하여 2개 그룹으로 묶어준다.
결과는 아래와 같다.
ID | DATE | NTILE |
1 | 2023-01-01 | 1 |
3 | 2023-01-03 | 1 |
2 | 2023-01-09 | 2 |
4 | 2023-01-31 | 2 |
특정 값을 가지고 n개 만큼 그룹을 만들때 주로 사용이 된다.
만약 5개의 로우를 2그룹으로 나누거나
101개의 로우를 100그룹으로 나누거나 등등
나머지가 생길 경우엔
1 그룹부터 하나씩 더 채우게 되어 1,1,1 / 2,2
1,1 / 2 / 3 / 4 ..... / 99 / 100
으로 채워진다.
반응형
'IT > Database' 카테고리의 다른 글
[Oracle] 에러 표시 방법(ORA-00000) (sqlca.sqlcode) (42) | 2023.10.31 |
---|---|
[Oracle] SELECT .... FOR UPDATE 문 (43) | 2023.10.29 |
[MySQL] 버전 확인방법 (58) | 2023.10.20 |
[Mysql] MATCH AGAINST 사용(fulltext 검색) (39) | 2023.10.15 |
[Oracle] Merge Into 문법 (값이 있으면 update, 없으면 insert) (49) | 2023.10.14 |
댓글