> 데이터 베이스 > MySQL 튜토리얼 > SQL의 특정 열에서 최대 값을 가진 행만 선택하는 방법은 무엇입니까?

SQL의 특정 열에서 최대 값을 가진 행만 선택하는 방법은 무엇입니까?

DDD
풀어 주다: 2025-01-25 21:12:14
원래의
340명이 탐색했습니다.
<p><img src="https://img.php.cn/upload/article/000/000/000/173781074242774.jpg" alt="How to Select Only Rows with the Maximum Value in a Specific Column in SQL? "></p> <h2>SQL은 열에 최대값이 있는 행만 선택합니다</h2> <h3>개요</h3> <p>중복 행이 포함된 테이블이 있는 경우 특정 열에서 최대값이 있는 행만 선택하는 작업이 수행됩니다. </p> <h3>솔루션</h3> <p><strong>방법 1: 그룹화 및 집계</strong></p> <p>가장 직접적인 해결책은 <code>GROUP BY</code> 절과 <code>MAX()</code> 집계 함수를 사용하는 것입니다. </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><code class="language-sql">SELECT id, MAX(rev) FROM YourTable GROUP BY id</code></pre><div class="contentsignin">로그인 후 복사</div></div> <p>이렇게 하면 그룹 식별자(id)와 각 그룹의 최대 회전수 값이 반환됩니다. </p> <p><strong>방법 2: 자체 연결 및 필터링</strong></p> <p>더 발전된 접근 방식은 id 열을 조인 조건으로 사용하여 테이블 자체와 왼쪽 조인을 수행하는 것입니다. </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><code class="language-sql">SELECT a.* FROM YourTable a LEFT OUTER JOIN YourTable b ON a.id = b.id AND a.rev < b.rev WHERE b.id IS NULL;</code></pre><div class="contentsignin">로그인 후 복사</div></div> <p>이 접근 방식은 먼저 각 행을 동일한 ID를 가진 다른 모든 행과 조인합니다. 그런 다음 조인 조건에 <code><</code> 연산자를 사용하여 현재 행보다 rev 값이 높은 모든 행을 삭제합니다. 마지막으로 하위 쿼리는 일치하는 항목이 없고 rev 값이 더 높은 행만 반환되도록 합니다. </p> <h3>요약</h3> <p>두 방법 모두 동일한 결과를 생성하며 각 고유 ID에 대해 가장 큰 rev 값이 있는 행을 제공합니다. 두 가지 방법 중 선택은 성능 고려 사항과 가독성에 따라 달라집니다. 특정 데이터베이스 및 데이터 세트에 대한 최상의 접근 방식을 결정하려면 벤치마킹을 권장합니다. </p>

위 내용은 SQL의 특정 열에서 최대 값을 가진 행만 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿