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

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

DDD
發布: 2025-01-08 18:26:42
原創
920 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板