티스토리 뷰
1. RANK() , DENSE_BANK() - 역할
순위를 반환하는 함수
2. RANK() , DENSE_BANK() - 기본 테이블
◈ 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. RANK() - SQL 문장
◈ SQL
1 2 3 4 | SELECT NAME ,AMT ,RANK() OVER(ORDER BY AMT DESC) AS AMT_RNK FROM TEST_TABLE_ONE |
◈ 결과 테이블
|
◈ 설명
AMT 금액이 많은 순서로 순위를 정하여 보여주고 있습니다 테스트2,테스트3은 같은 금액이라서 같은 순위가 나왔고 이어서 4위가 없이 테스트1은 5위로 나타냅니다
|
4. DENSE_RANK() - SQL 문장
◈ SQL
1 2 3 4 | SELECT NAME ,AMT ,DENSE_RANK() OVER(ORDER BY AMT DESC) AS AMT_RNK FROM TEST_TABLE_ONE |
◈ 결과 테이블
|
◈ 설명
마찬가지로 AMT 금액이 많은 순서로 순위를 정하여 보여주고 있습니다 RANK() 와 다른 점이 있다면 RANK()는 공동 순위가 있을 경우 다음에 나올 순위를 건너 뛰는 데 DENSE_RANK()는 건너 뛰지 않고 위에서 보는 것처럼 4위가 나타나게 됩니다 |
'[개발]프로그래밍 > sql' 카테고리의 다른 글
[oracle] NTILE() - 특정 기준으로 분할 (0) | 2016.10.27 |
---|---|
[oracle] ROW_NUMBER() - 순차적인 값 반환 (0) | 2016.10.27 |
[oracle] 분석 함수 - 데이터 분석하는 함수 (0) | 2016.10.26 |
[oracle] SYS_CONNECT_BY_PATH - 루트 찾아가기 (1) | 2016.10.26 |
[oracle] CONNECT_BY_ISLEAF - 자식 노드 찾기 (1) | 2016.10.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday