SQL RANK() 함수 에서 사용되는 창 함수입니다. SQL 서버 각 행의 순위를 계산합니다. 결과 세트 .
SQL Server의 RANK 함수
SQL Server의 RANK 함수는 해당 값을 기준으로 각 행에 순위를 할당하는 데 사용됩니다.
동일한 값을 갖는 행에는 동일한 순위가 할당됩니다. 순위는 연속되지 않을 수 있습니다. 순위() 함수 반복된 순위에 반복된 행의 개수를 더해 다음 행의 순위를 계산하기 때문입니다.
통사론
SQL Server에서 RANK 함수를 사용하는 구문은 다음과 같습니다.
순위() 초과(
[PARTITION BY 표현식, ]
ORDER BY 표현식 (ASC | DESC) );
메모:
SQL Server에서 사용되는 다른 순위 함수는 다음과 같습니다.
- ROW_NUMBER()
- 밀도_순위()
- 엔타일()
SQL RANK 함수 예
SQL Server의 RANK 함수의 작동 방식을 이해하기 위해 몇 가지 예를 살펴보겠습니다.
RANK 문을 수행할 데모 테이블을 만들어 보겠습니다. geek_demo 테이블을 생성하려면 다음 쿼리를 작성하세요.
CREATE TABLE geek_demo (Name VARCHAR(10) ); INSERT INTO geek_demo (Name) VALUES ('A'), ('B'), ('B'), ('C'), ('C'), ('D'), ('E'); SELECT * FROM sales.geek_demo;>
산출
이름 |
---|
ㅏ |
비 |
비 |
씨 |
씨 |
디 |
그리고 |
이 예에서는 RANK()를 사용하여 geek_demo 테이블의 결과 집합에 있는 행에 순위를 할당합니다.
질문:
SELECT Name, RANK () OVER ( ORDER BY Name ) AS Rank_no FROM geek_demo;>
출력 –
이름 | 순위_번호 |
---|---|
ㅏ | 1 |
비 | 2 |
비 | 2 |
씨 | 4 |
씨 | 4 |
디 | 6 |
그리고 | 7 |
SQL RANK 함수에 대한 중요 사항
- SQL RANK 함수는 SQL Server에서 각 행의 순위를 계산하는 데 사용되는 창 함수입니다.
- 파티션 내의 각 행에 고유한 순위를 할당하며, 동률이 있는 경우 순위 값에 차이가 있습니다.
- RANK 함수를 사용하면 지정된 열 또는 열 집합을 기준으로 행의 순위를 지정하여 결과 집합 내에서 명확한 우선 순위를 제공할 수 있습니다.
- SQL RANK 함수를 사용할 때 ORDER BY 절 , RANK 함수가 적용된 각 파티션의 정렬된 행과 함께 결과 집합이 반환됩니다.
- 동일한 값을 갖는 행에는 동일한 순위가 할당됩니다.