筛选成功完成所有测试的汽车
从给定列表中有效识别已通过所有必需测试的汽车需要比简单的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中文网其他相关文章!