Maison > base de données > tutoriel mysql > Comment sélectionner les voitures qui ont réussi tous les tests dans une liste ?

Comment sélectionner les voitures qui ont réussi tous les tests dans une liste ?

DDD
Libérer: 2025-01-14 11:13:44
original
882 Les gens l'ont consulté

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

Filtrer les voitures qui ont réussi tous les tests

Identifier efficacement les voitures qui ont réussi tous les tests requis à partir d'une liste donnée nécessite une méthode plus sophistiquée que les simples IN contrôles des opérateurs, en particulier lorsqu'il s'agit de tests multiples. Une approche plus précise exploite la puissance des clauses GROUP BY et HAVING.

Considérez cette requête SQL pour sélectionner les voitures qui ont réussi tous les tests dans un ensemble prédéfini :

1

2

3

4

<code class="language-sql">SELECT carname

FROM PassedTest

GROUP BY carname

HAVING COUNT(DISTINCT testtype) = 4</code>

Copier après la connexion

Cette requête regroupe les résultats par carname et utilise la clause HAVING avec COUNT(DISTINCT testtype). Cela garantit que seules les voitures ayant réussi quatre types de tests distincts (en supposant que quatre tests figurent dans la liste) sont incluses dans le résultat.

Pour un résultat plus complet, l'intégrer en tant que sous-requête avec la table cars permet de récupérer des détails supplémentaires sur la voiture :

1

2

3

4

5

6

7

8

<code class="language-sql">SELECT *

FROM cars

WHERE carname IN (

    SELECT carname

    FROM PassedTest

    GROUP BY carname

    HAVING COUNT(DISTINCT testtype) = 4

)</code>

Copier après la connexion

Cette requête améliorée propose une sélection précise et complète des voitures ayant réussi tous les tests de la liste définie.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal