使用外連接處理 SQL COUNT 聚合中的零計數
SQL 的 COUNT
聚合函數通常會對非空值進行計數,忽略結果為零的實體。 若要包含這些零計數實體,請使用外連線。 與內聯接不同,外接會保留一個或兩個表中的所有行,即使另一個表中沒有匹配項也是如此。
讓我們用兩個表格來說明:person
和 appointment
。 appointment
透過 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中文網其他相關文章!