首頁 > 資料庫 > mysql教程 > 如何選擇清單中已通過所有測試的汽車?

如何選擇清單中已通過所有測試的汽車?

DDD
發布: 2025-01-14 11:13:44
原創
846 人瀏覽過

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) 一起使用。這可確保輸出中僅包含已通過四種不同測試類型(假設清單中有四種測試)的汽車。

為了獲得更全面的結果,將其作為子查詢與 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板