首頁 > 資料庫 > mysql教程 > 如何在 SQL COUNT 聚合中包含零計數?

如何在 SQL COUNT 聚合中包含零計數?

Linda Hamilton
發布: 2025-01-08 18:22:42
原創
345 人瀏覽過

How Can I Include Zero Counts in SQL COUNT Aggregates?

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

SQL 的 COUNT 函數有時會忽略聚合結果中的零值。 本指南示範如何確保在計算記錄時包含零計數。

考慮兩個表:personappointment。 一個人可以有多個約會,appointment 表包含 person_id 欄位。

問題:

簡單的GROUP BY查詢可能會錯過沒有預約的人:

<code class="language-sql">SELECT person_id, COUNT(person_id) AS "number_of_appointments"
FROM appointment
GROUP BY person_id;</code>
登入後複製

解:左連接

要包含零預約的人員,請使用 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 表(左表)中的所有行都包含在結果中,無論 appointment 表中的匹配如何。
  • 如果某人沒有約會,COUNT(a.person_id) 回傳 0(不是 NULL,與 COUNT(*) 一樣)。
  • GROUP BY p.person_id 依人員 ID 將結果分組,精確反映零預約計數。

這種方法可以保證完整的計數,包括沒有相關預約的個人。

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

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