728x90
1. rank() over
select rank() over (order by fam_nm asc) as rn, fam_nm
from fam_c;
- family name 오름차순으로 랭킹을 부여했다.
- rn이라는 하나의 컬럼을 생성할 수 있다.
- 이름이 같을 경우, 같은 순위를 가진다 (dense_rank와 동일)
- 같은 순위를 가진 후 다음 순위는 건너 뛴다 (ex. RN에서 3이 없음) (dense_rank와 다름)
2. dense_rank() over
select dense_rank() over (order by fam_nm asc) as rn, fam_nm
from fam_c;
- family name 오름차순으로 랭킹을 부여했다.
- rn이라는 하나의 컬럼을 생성할 수 있다.
- 이름이 같을 경우, 같은 순위를 가진다 (rank와 동일)
- 같은 순위를 가진 후 다음 순위는 이어간다 (ex. RN에서 3이 있음) (rank와 다름)
3. rank 함수 + 조건 포함
select * from
(select rank() over (order by fam_nm asc) as rn, fam_nm
from fam_c
)
where rn between 2 and 5;
- from 안에 포함
- rn이 2와 5 사이인 조건 추출
728x90
'𝙎𝙌𝙇' 카테고리의 다른 글
Self join (0) | 2023.01.11 |
---|---|
inner join과 left outer join 비교 (0) | 2023.01.10 |
[MySQL] 프로그래머스 SQL 고득점 Kit (0) | 2023.01.06 |
테이블의 데이트형 확인 (0) | 2023.01.05 |
현재 스키마의 모든 테이블 목록 검색 (0) | 2023.01.05 |