首页 > 数据库 > mysql教程 > 如何使用外连接在 SQL COUNT 聚合中包含零结果?

如何使用外连接在 SQL COUNT 聚合中包含零结果?

Mary-Kate Olsen
发布: 2025-01-08 18:17:43
原创
364 人浏览过

How to Include Zero Results in SQL COUNT Aggregates Using Outer Joins?

使用外连接处理 SQL COUNT 聚合中的零计数

SQL 的 COUNT 聚合函数通常对非空值进行计数,忽略结果为零的实体。 要包含这些零计数实体,请使用外连接。 与内联接不同,外联接保留一个或两个表中的所有行,即使另一个表中没有匹配项也是如此。

让我们用两个表来说明:personappointmentappointment 通过 person 链接到 person_id。 要计算每人的预约(包括零预约的预约),请使用 LEFT JOIN:

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;
登录后复制

LEFT JOIN 确保包含 person 表(别名为 p)中的所有行。 如果某人没有约会,a.person_id 将为 NULL,并且 COUNT(a.person_id) 将为该人返回 0。 这提供了所有人的完整统计,准确反映了零预约情况。 GROUP BY 子句确保计数是按人汇总的。

以上是如何使用外连接在 SQL COUNT 聚合中包含零结果?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板