使用外连接处理 SQL COUNT 聚合中的零计数
SQL 的 COUNT
聚合函数通常对非空值进行计数,忽略结果为零的实体。 要包含这些零计数实体,请使用外连接。 与内联接不同,外联接保留一个或两个表中的所有行,即使另一个表中没有匹配项也是如此。
让我们用两个表来说明:person
和 appointment
。 appointment
通过 person
链接到 person_id
。 要计算每人的预约(包括零预约的预约),请使用 LEFT JOIN
:
<code class="language-sql">SELECT p.person_id, COUNT(a.person_id) AS number_of_appointments FROM person p LEFT JOIN appointment a ON p.person_id = a.person_id GROUP BY p.person_id;</code>
此 LEFT JOIN
确保包含 person
表(别名为 p
)中的所有行。 如果某人没有约会,a.person_id
将为 NULL,并且 COUNT(a.person_id)
将为该人返回 0。 这提供了所有人的完整统计,准确反映了零预约情况。 GROUP BY
子句确保计数是按人汇总的。
以上是如何使用外连接在 SQL COUNT 聚合中包含零结果?的详细内容。更多信息请关注PHP中文网其他相关文章!