>데이터 베이스 >MySQL 튜토리얼 >DENSE_RANK()를 사용하여 SQL에서 고유한 행 번호를 얻는 방법은 무엇입니까?

DENSE_RANK()를 사용하여 SQL에서 고유한 행 번호를 얻는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-01 11:43:10702검색

How to Get Distinct Row Numbers in SQL Using DENSE_RANK()?

DENSE_RANK()를 사용하여 고유한 행 번호를 가져오는 SQL 쿼리

SQL에서 고유한(고유한) 값을 찾는 것은 일반적으로 DISTINCT를 사용하여 수행됩니다. 예어. 그러나 이러한 고유 값에 대한 행 번호를 표시해야 하는 경우 DISTINCT만으로는 충분하지 않을 수 있습니다.

주어진 코드에서:

SELECT DISTINCT id, ROW_NUMBER() OVER (ORDER BY id) AS RowNum
FROM table
WHERE fid = 64

DISTINCT 키워드는 중복된 ID 값을 제거하지만, ROW_NUMBER() 함수는 결과 집합의 각 레코드에 고유한 행 번호를 할당합니다. 따라서 고유한 값을 식별하는 데 유용하지 않습니다.

원하는 결과를 얻으려면 DENSE_RANK() 함수를 대신 사용할 수 있습니다.

SELECT DISTINCT id, DENSE_RANK() OVER (ORDER BY id) AS RowNum
FROM table
WHERE fid = 64

DENSE_RANK() 함수는 고유한 순위를 할당합니다. 행 번호의 공백을 무시하고 각 고유 ID 값에 추가합니다. 이는 결과 집합의 고유 값에 대한 고유한 행 번호를 제공합니다.

위 내용은 DENSE_RANK()를 사용하여 SQL에서 고유한 행 번호를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.