코딩테스트/SQL
[SQL] (CHECK) ROW_NUMBER, RANK, DENSE_RANK, 함수
유(YOO)
2024. 6. 14. 18:11
SELECT ROW_NUMBER() OVER(PARTITION BY 범위 ORDER BY 정렬 칼럼 DESC) AS 'ROW_NUMBER',
DENSE_RANK() OVER(PARTITION BY 범위 ORDER BY 정렬 칼럼 DESC) AS 'DENSE_RANK',
RANK() OVER(PARTITION BY 범위 ORDER BY score DESC) AS 'RANK'
FROM INFO
ROW_NUMBER는 중복 허용 없이 무조건 순위를 나눈다는 것이다. 중복된 점수일 때는 ID값이 작은 것이 우선 순위
DENSE_RANK는 중복 허용, 동일한 점수는 같은 순위를 매긴다. 그리고 공동2등 그 다음 순위는 3위
RANK는 중복 허용, 동일한 점수는 같은 순위를 매긴다.그리고 공동2등 그 다음은 4위이다.
IN, BETWEEN, IF, CASE WHEN THEN END,
DISTINCT, LIKE,
DATEDIFF(%k, %H), YEAR, MONTH, DATE_FORMAT,
COUNT, MAX, AVG, ROUND, TRUNCATE, LIMIT,
UNION, INNER JOIN, RIGHT JOIN, JOIN ON