티스토리 뷰
1. NTILE() - 역할
데이터들을 즉정 기준으로 분할하여 결과값 반환
◈ 구문형식
NTILE(숫자) OVER ( PARTITION BY 조건1 ORDER BY 조건2)
- 숫자 : 지정된 숫자만큼 각 로우를 반환
2. NTILE() - 기본 테이블
◈ TEST_TABLE_ONE
IDX | NAME | ID | DEPT | AMT |
1 | 테스트1 | test1 | test_d1 | 1000 |
2 | 테스트2 | test2 | test_d1 | 2000 |
3 | 테스트3 | test3 | test_d2 | 2000 |
4 | 테스트4 | test4 | test_d2 | 4000 |
5 | 테스트5 | test5 | test_d2 | 5000 |
3. NTILE() - SQL 문장
◈ SQL
1 2 3 4 | SELECT NAME ,AMT ,NTILE(3) OVER(ORDER BY AMT DESC) AS N_RNK FROM TEST_TABLE_ONE |
◈ 결과 테이블
NAME | AMT | N_RNK |
테스트5 | 4000 | 1 |
테스트4 | 3000 | 1 |
테스트2 | 2000 | 2 |
테스트3 | 2000 | 2 |
테스트1 | 1000 | 3 |
◈ 설명
NTILE 에 숫자 3을 입력한 경우 추출된 데이터를 3개의 집단으로 나누어서 숫자를 표현하게 됩니다.
즉 5개의 데이터 중에서 테스트5,테스트4 가 상위 33%에 해당하여 1 집단에 포함되고 테스트2,테스트3이 다음 33% 이므로 2 집단에 마지막 테스트1이 3집단에 포함되게 됩니다.
'[개발]프로그래밍 > sql' 카테고리의 다른 글
[oracle] 윈도우 함수 - 그룹 속의 작은 소그룹 (0) | 2016.10.28 |
---|---|
[oracle] WIDTH_BUCKET() - 특정 범위내에서 특정 기준 (0) | 2016.10.28 |
[oracle] ROW_NUMBER() - 순차적인 값 반환 (0) | 2016.10.27 |
[oracle] RANK() , DENSE_RANK() - 순위 반환 (0) | 2016.10.27 |
[oracle] 분석 함수 - 데이터 분석하는 함수 (0) | 2016.10.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday