首頁 > 資料庫 > mysql教程 > 如何使用外接統計MySQL中員工的包含零值的訂閱?

如何使用外接統計MySQL中員工的包含零值的訂閱?

Susan Sarandon
發布: 2024-12-01 09:22:14
原創
625 人瀏覽過

How Can I Count Subscriptions Including Zero Values for Employees in MySQL Using Outer Joins?

使用OUTER JOINS 處理MySQL 中的空計數

使用關聯式資料庫時,跨多個查詢時顯示零值可能會很困難表。例如,考慮問題中描述的場景,其中我們有兩個表:Employee 和 mailingSubscriptions。 Employee 表包含有關員工的基本信息,而 mailingSubscriptions 表則追蹤他們的電子郵件訂閱狀態。

要計算每位員工的訂閱數量,我們可以使用以下查詢:

SELECT COUNT(c.Name)
FROM Employee 
    INNER JOIN mailingSubscriptions as m ON c.Name = m.EmployeeName;
登入後複製

但是,此查詢將只傳回在 mailingSubscriptions 表中至少有一項的員工的計數。如果員工尚未訂閱任何電子郵件,則結果中將忽略其計數。

要為沒有訂閱的員工包含零值,我們需要使用外部聯結。外連接允許我們組合兩個表中的行,即使它們沒有匹配的值。在本例中,我們將使用 左外連接,它將保留 Employee 表中的所有行,無論它們在 mailingSubscriptions 表中是否有對應的行。

以下查詢使用用於計算每個員工的訂閱計數的左外連接,包括那些沒有訂閱的員工:

SELECT c.name, count(m.mailid)
FROM Employee 
   LEFT JOIN mailingSubscriptions as m ON c.Name = m.EmployeeName
GROUP BY c.name;
登入後複製

GROUP BY c.name 子句確保我們單獨計算每位員工的訂閱量。查詢的結果將是員工姓名及其相應訂閱計數的列表,對於尚未訂閱任何電子郵件的員工,顯示零值。

以上是如何使用外接統計MySQL中員工的包含零值的訂閱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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