本文將介紹如何通過MySQL查詢各部門的捐款人數。
SELECT department.name, COUNT(DISTINCT donation.donor_id) AS donor_count FROM department LEFT JOIN employee ON department.id = employee.department_id LEFT JOIN donation ON employee.id = donation.employee_id GROUP BY department.id;
以上是查詢語句,我們對其進行解釋:
首先從department表中選出部門名,
然后通過LEFT JOIN將department表與employee表連接,
接著通過另一個LEFT JOIN將employee表與donation表連接,
最后按照department.id分組,
統計不重復donation.donor_id數量,
同時給這個數量起了一個別名donor_count。
關于查詢條件,因為我們是要查詢所有的部門,所以不需要WHERE語句。
另外,我們使用了DISTINCT關鍵詞去除了重復的donor_id,保證了一個人只被統計一次。
最終得出的結果將會是這樣的:
部門名 | 捐款人數
部門1 | 10
部門2 | 5
部門3 | 8
……
這樣一來,我們就可以找出每個部門的捐款人數了,對于對舉辦公益活動等活動具有參考價值。
當然,如果需要更多細節的信息也可以根據這個例子進行調整。我們可以加入其他表的查詢,根據需要添加查詢條件等等。
上一篇mysql查詢同批次數據
下一篇mysql查詢同一列最多