SQL 그룹 최대값 검색 방법
이 문서에서는 여러 개의 "이름"이 있지만 서로 다른 "전체" 값이 포함된 테이블에서 각 고유한 "이름"에 해당하는 최대 "전체" 값 레코드를 추출하는 방법을 설명합니다.
한 가지 해결책은 하위 쿼리를 사용하는 것입니다.
<code class="language-sql">SELECT Name, Top, Total FROM sometable WHERE Total = (SELECT MAX(Total) FROM sometable i WHERE i.Name = sometable.Name);</code>
이 하위 쿼리는 각 "이름"에 대한 최대 "합계" 값을 찾고, 기본 쿼리는 일치하는 레코드를 필터링합니다.
또 다른 방법은 중첩 쿼리를 사용하는 것입니다.
<code class="language-sql">SELECT Name, Top, Total FROM sometable INNER JOIN ( SELECT MAX(Total) AS Total, Name FROM sometable GROUP BY Name ) AS max ON max.Name = sometable.Name AND max.Total = sometable.Total;</code>
이 중첩 쿼리는 각 "이름"에 대한 최대 "합계" 값을 포함하는 임시 테이블을 생성합니다. 그런 다음 기본 쿼리는 sometable
테이블을 이 임시 테이블과 조인합니다. 여기서 "이름"과 "전체" 값이 일치합니다. 연결 결과는 각 고유 "이름"에 해당하는 최대 "총" 값 레코드입니다.
위 내용은 SQL에서 각 그룹의 최대값을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!