집 >데이터 베이스 >MySQL 튜토리얼 >목록의 모든 테스트를 통과한 자동차를 선택하는 방법은 무엇입니까?
모든 테스트를 성공적으로 마친 자동차 필터링
주어진 목록에서 모든 필수 테스트를 통과한 자동차를 효율적으로 식별하려면 특히 여러 테스트를 처리할 때 단순한 IN
운전자 확인보다 더 정교한 방법이 필요합니다. 보다 정확한 접근 방식은 GROUP BY
및 HAVING
절의 힘을 활용하는 것입니다.
사전 정의된 세트의 모든 테스트를 통과한 자동차를 선택하려면 다음 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!