在 MySQL 計數查詢中顯示零計數
在資料庫管理領域,計數操作常用於擷取聚合資訊。但是,在使用 JOIN 查詢時,顯示零計數可能很困難,尤其是在存在缺失值或空值時。當嘗試計算表中所有行的值,但某些行在連接表中沒有符合的項目時,會發生此問題。
問題:缺少零計數
考慮以下場景:我們有兩個表,Employee 和 mailingSubscriptions。 mailingSubscriptions 表包含員工的訂閱訊息,每位員工都有一個唯一的 EmployeeName。我們想要確定與每位員工關聯的訂閱數量,包括沒有訂閱的員工(即顯示零計數)。
使用以下查詢:
我們只會檢索計數在 mailingSubscriptions 表中至少有一項的員工。沒有訂閱的員工將被排除在結果之外。
解決方案:Left JOIN 和 GROUP BY
要解決此問題並取得所有員工的計數,我們可以使用LEFT JOIN 和 GROUP BY 子句。 LEFT JOIN 可確保 Employee 表中的所有行都包含在結果中,即使 mailingSubscriptions 表中沒有符合的行也是如此。然後,GROUP BY 子句按員工姓名對結果進行分組,使我們能夠計算每個員工的訂閱數量:
透過使用此修改後的查詢,我們現在檢索所有員工的訂閱計數,包括那些訂閱量為零的人。這使我們能夠完整查看員工訂閱數據,無論他們的訂閱狀態如何。
以上是如何在 MySQL JOIN 查詢中顯示零計數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!