>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 각 딜러의 최소값이 있는 행을 검색하는 방법은 무엇입니까?

MySQL에서 각 딜러의 최소값이 있는 행을 검색하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-04 07:54:15261검색

How to Retrieve Rows with the Minimum Value for Each Dealer in MySQL?

MySQL: 각 딜러에 대해 가장 낮은 값을 가진 행 검색

당면 작업에는 각 개별 항목에 대해 가장 낮은 값을 가진 행을 가져오는 것이 포함됩니다. ID, 이름, 값 및 같은 열이 포함된 데이터베이스 테이블의 딜러

전략:

이 문제를 해결하기 위해 아래 두 가지 솔루션이 제시됩니다.

솔루션 1:

SELECT t1.*
FROM your_table t1
JOIN (
    SELECT MIN(value) AS min_value, dealer
    FROM your_table
    GROUP BY dealer
) AS t2 ON t1.dealer = t2.dealer AND t1.value = t2.min_value

이 솔루션은 먼저 MIN()을 사용하여 각 딜러의 최소값을 찾는 방식으로 작동합니다. 그리고 GROUP BY. 그런 다음 딜러 열과 min_value 열에서 INNER JOIN을 사용하여 이 결과를 원본 테이블과 조인합니다.

해결책 2(권장):

SELECT t1.*
FROM your_table t1
LEFT JOIN your_table t2
ON t1.dealer = t2.dealer AND t1.value > t2.value
WHERE t2.value IS NULL

해결책 2에서는 LEFT JOIN을 사용하여 동일한 딜러에 대해 더 높은 값을 갖는 행이 없는 행을 찾습니다. 결과적으로, 각 딜러에 대해 가장 낮은 값을 가진 행을 생성합니다.

중요 참고:

Mysql 문서에는 이 특정 문제에 대한 전용 페이지가 있습니다: "Rows Holding the 특정 열의 그룹별 최대/최소". 추가 정보 및 대체 접근 방식은 이 페이지를 참조하세요.

위 내용은 MySQL에서 각 딜러의 최소값이 있는 행을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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