篩選成功完成所有測試的汽車
從給定清單中有效識別已通過所有必需測試的汽車需要比簡單的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)
一起使用。這可確保輸出中僅包含已通過四種不同測試類型(假設清單中有四種測試)的汽車。
為了獲得更全面的結果,將其作為子查詢與 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中文網其他相關文章!