1. RANK
중복 값들에 대해 동일 순위로 표시하고, 중복 순위 다음 값에 대해서는 중복 개수만큼 떨어진 순위로 출력하도록 하는 함수
SELECT empNo, empName, salary,
RANK() OVER (ORDER BY salary DESC) as RANK등수
FROM employee
2. DENSE_RANK
중복 값들에 대해서 동일 순위로 표시하고, 중복 순위 다음 값에 대해서는 중복 값 개수와 상관없이 순차적인 순위 값을 출력하도록 하는 함수
SELECT empNo, empName, salary,
DENSE_RANK() OVER (ORDER BY salary DESC) as DENSE_RANK등수
FROM employee
3. ROW_NUMBER
중복 값들에 대해서도 순하적인 순위를 표시하도록 출력하는 함수
SELECT empNo, empName, salary,
ROW_NUMBER() OVER (ORDER BY salary DESC) as ROW_NUMBER등수
FROM employee
4. NTILE
뒤에 함께 적어주는 숫자 만큼으로 등분을 하는 함수
SELECT empNo, empName, salary,
NTILE(4) OVER (ORDER BY salary DESC) as NTILE등분
FROM employee
5. PARTITION BY *** 중요!!
특정 속성 별로 구분을 하고자 할때 PARTITION BY절을 사용
SELECT empName, job, salary,
RANK() OVER (PARTITION BY job ORDER BY salary DESC) as RANK등수
FROM employee
다 인턴할 때 종종 사용하던 것이었는데 막상 마주하니까 생각이 잘 안났다..
rank() over (partition by ~ order by ~) 구문 절대 까먹지 않기!!!
'AI Engineering' 카테고리의 다른 글
git 사용법 정리 (0) | 2024.01.16 |
---|---|
[Python] replace, 합집합/교집합/차집합, 리스트 문자열 합치기 (0) | 2022.10.20 |
[SQL] CONCAT을 까먹다니.. 컬럼 데이터 합치는 방법 (0) | 2022.10.15 |
맨날 헷갈리는 정규표현식 (문자열에서 숫자만 추출) (1) | 2022.10.15 |
판다스 자주쓰는 명령어4 (0) | 2022.10.14 |