>데이터 베이스 >MySQL 튜토리얼 >SQL에서 최대 열 값과 해당 데이터를 효율적으로 검색하는 방법은 무엇입니까?

SQL에서 최대 열 값과 해당 데이터를 효율적으로 검색하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-07 17:11:42142검색

How to Efficiently Retrieve Maximum Column Values and Corresponding Data in SQL?

SQL에서 효율적으로 최대값과 관련 데이터 찾기

데이터 분석가는 테이블 내 열에서 가장 높은 값을 추출하고 다른 열에서 관련 데이터를 추출해야 하는 경우가 많습니다. 대규모 데이터 세트의 경우 효율성이 가장 중요합니다. ID별로 그룹화하고 최대 버전을 선택하는 것이 간단해 보일 수 있지만 이 접근 방식에서는 관련 태그가 생략됩니다.

ROW_NUMBER() 기능을 활용하면 더욱 우수하고 효율적인 방법이 됩니다. 다음 쿼리를 고려해보세요.

<code class="language-sql">SELECT s.id, s.tag, s.version
FROM (
    SELECT t.*,
           ROW_NUMBER() OVER(PARTITION BY t.id ORDER BY t.version DESC) as rnk
    FROM YourTable t
) s
WHERE s.rnk = 1;</code>

이 쿼리는 ROW_NUMBER() 열을 기준으로 그룹(파티션) 내의 각 행에 순위를 할당하기 위해 id을 사용합니다. PARTITION BY t.id 각 고유 ID에 대해 독립적인 순위를 보장합니다. ORDER BY t.version DESC 버전의 내림차순으로 행의 순위를 매기며, 각 ID의 최대 버전이 있는 행에 1순위를 할당합니다.

외부 WHERE 절은 순위가 1인 행만 유지하여 결과를 필터링합니다. 이는 고유 ID, 해당 태그 및 각 ID의 최대 버전을 효율적으로 검색합니다. ROW_NUMBER() 기능은 대규모 데이터 세트를 효과적으로 처리하는 데 핵심입니다.

위 내용은 SQL에서 최대 열 값과 해당 데이터를 효율적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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