首頁 >資料庫 >mysql教程 >如何在 SQL COUNT 聚合中包含零約會結果?

如何在 SQL COUNT 聚合中包含零約會結果?

DDD
DDD原創
2025-01-08 18:26:42921瀏覽

How Can I Include Zero-Appointment Results in SQL COUNT Aggregations?

處理 SQL 聚合中的零約會計數

標準 SQL COUNT 聚合可能會錯過零預約的個人。 解決方案涉及使用外連接來包含這些零計數條目。

讓我們舉例:

此查詢計算每個人的預約,但忽略那些沒有預約的:

<code class="language-sql">SELECT person_id, COUNT(person_id) AS appointment_count
FROM appointment
GROUP BY person_id;</code>

要包含零預約的個人,請使用 LEFT JOINperson 表作為驅動表:

<code class="language-sql">SELECT p.person_id, COUNT(a.person_id) AS appointment_count
FROM person p
LEFT JOIN appointment a ON p.person_id = a.person_id
GROUP BY p.person_id;</code>

LEFT JOIN 回傳不存在約會的NULLappointment.person_idCOUNT 忽略 NULL 價值,正確報告這些人的零預約。

這種方法依賴於理解外連接的工作原理。 LEFT JOIN 確保包含左表中的所有行(在本例中為 person),即使右表 (appointment) 中沒有相符的行。

要更深入了解外部聯結和處理 NULL 值,請參考以下資源:

SQLZoo:使用 NULL

以上是如何在 SQL COUNT 聚合中包含零約會結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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