ホームページ >データベース >mysql チュートリアル >リスト内のすべてのテストに合格した車を選択するにはどうすればよいですか?

リスト内のすべてのテストに合格した車を選択するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-14 11:13:44850ブラウズ

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

すべてのテストを正常に完了した車両のフィルタリング

指定されたリストから必要なすべてのテストに合格した車両を効率的に特定するには、特に複数のテストを扱う場合、単純な 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。