首頁 >資料庫 >mysql教程 >如何使用外連接在 SQL COUNT 聚合中包含零結果?

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

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-08 18:17:43303瀏覽

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

使用外連接處理 SQL COUNT 聚合中的零計數

SQL 的 COUNT 聚合函數通常會對非空值進行計數,忽略結果為零的實體。 若要包含這些零計數實體,請使用外連線。 與內聯接不同,外接會保留一個或兩個表中的所有行,即使另一個表中沒有匹配項也是如此。

讓我們用兩個表格來說明:personappointmentappointment 透過 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn