집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 각 딜러의 가장 낮은 값을 가진 행을 효율적으로 검색하는 방법은 무엇입니까?
MySQL을 사용하여 여러 딜러에 대한 가장 낮은 값의 행 검색
id, 이름, 값 및 딜러를 포함하는 열이 있는 데이터베이스에서 각 개별 딜러에 대해 가장 낮은 값을 가진 행을 검색하는 것을 목표로 합니다. MIN() 및 GROUP BY를 시도하는 동안 해결 방법을 찾지 못했습니다.
권장 해결 방법:
해결 방법 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
해결책 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
설명:
솔루션 1은 하위 쿼리를 활용하여 각 딜러의 최소값을 찾습니다. 그런 다음 이 하위 쿼리를 기본 테이블과 조인하여 해당 행을 검색합니다.
솔루션 2는 셀프 조인을 활용하여 각 딜러에 대해 가장 낮은 값을 가진 행을 효율적으로 찾습니다. LEFT JOIN을 사용하여 더 낮은 값의 행이 있는지 확인합니다. 그렇지 않은 경우 해당 딜러의 최저 가격입니다.
추가 정보:
이것은 일반적으로 발생하는 MySQL 문제입니다. 자세한 내용은 "특정 열의 그룹별 최대/최소값을 유지하는 행" 문서를 참조하세요.
위 내용은 MySQL에서 각 딜러의 가장 낮은 값을 가진 행을 효율적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!