> 데이터 베이스 > MySQL 튜토리얼 > 목록의 모든 테스트를 통과한 자동차를 선택하는 방법은 무엇입니까?

목록의 모든 테스트를 통과한 자동차를 선택하는 방법은 무엇입니까?

DDD
풀어 주다: 2025-01-14 11:13:44
원래의
847명이 탐색했습니다.

How to Select Cars That Have Passed All Tests in a List?

모든 테스트를 성공적으로 마친 자동차 필터링

주어진 목록에서 모든 필수 테스트를 통과한 자동차를 효율적으로 식별하려면 특히 여러 테스트를 처리할 때 단순한 IN 운전자 확인보다 더 정교한 방법이 필요합니다. 보다 정확한 접근 방식은 GROUP BYHAVING 절의 힘을 활용하는 것입니다.

사전 정의된 세트의 모든 테스트를 통과한 자동차를 선택하려면 다음 SQL 쿼리를 고려하세요.

<code class="language-sql">SELECT carname
FROM PassedTest
GROUP BY carname
HAVING COUNT(DISTINCT testtype) = 4</code>
로그인 후 복사

이 쿼리는 결과를 carname별로 그룹화하고 HAVING과 함께 COUNT(DISTINCT testtype) 절을 사용합니다. 이렇게 하면 4개의 고유한 테스트 유형(4개의 테스트가 목록에 있다고 가정)을 통과한 자동차만 출력에 포함됩니다.

보다 포괄적인 결과를 얻으려면 이를 cars 테이블과 함께 하위 쿼리로 통합하면 추가 자동차 세부정보를 검색할 수 있습니다.

<code class="language-sql">SELECT *
FROM cars
WHERE carname IN (
    SELECT carname
    FROM PassedTest
    GROUP BY carname
    HAVING COUNT(DISTINCT testtype) = 4
)</code>
로그인 후 복사

이 향상된 쿼리는 정의된 목록의 모든 테스트를 성공적으로 통과한 자동차를 정확하고 완벽하게 선택할 수 있도록 제공합니다.

위 내용은 목록의 모든 테스트를 통과한 자동차를 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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