Heim > Datenbank > MySQL-Tutorial > Wie wähle ich in einer Liste Autos aus, die alle Tests bestanden haben?

Wie wähle ich in einer Liste Autos aus, die alle Tests bestanden haben?

DDD
Freigeben: 2025-01-14 11:13:44
Original
846 Leute haben es durchsucht

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

Autos filtern, die alle Tests erfolgreich abgeschlossen haben

Die effiziente Identifizierung von Fahrzeugen, die alle erforderlichen Tests aus einer bestimmten Liste bestanden haben, erfordert eine ausgefeiltere Methode als einfache IN Bedienerprüfungen, insbesondere wenn es um mehrere Tests geht. Ein genauerer Ansatz nutzt die Leistungsfähigkeit der Klauseln GROUP BY und HAVING.

Erwägen Sie diese SQL-Abfrage, um Autos auszuwählen, die jeden Test in einem vordefinierten Satz bestanden haben:

<code class="language-sql">SELECT carname
FROM PassedTest
GROUP BY carname
HAVING COUNT(DISTINCT testtype) = 4</code>
Nach dem Login kopieren

Diese Abfrage gruppiert Ergebnisse nach carname und verwendet die HAVING-Klausel mit COUNT(DISTINCT testtype). Dadurch wird sichergestellt, dass nur Autos, die vier verschiedene Testtypen bestanden haben (vorausgesetzt, dass vier Tests in der Liste enthalten sind), in die Ausgabe einbezogen werden.

Um ein umfassenderes Ergebnis zu erzielen, ermöglicht die Einbindung als Unterabfrage in die cars-Tabelle den Abruf zusätzlicher Fahrzeugdetails:

<code class="language-sql">SELECT *
FROM cars
WHERE carname IN (
    SELECT carname
    FROM PassedTest
    GROUP BY carname
    HAVING COUNT(DISTINCT testtype) = 4
)</code>
Nach dem Login kopieren

Diese verbesserte Abfrage bietet eine präzise und vollständige Auswahl von Fahrzeugen, die alle Tests in der definierten Liste erfolgreich bestanden haben.

Das obige ist der detaillierte Inhalt vonWie wähle ich in einer Liste Autos aus, die alle Tests bestanden haben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage