2017-01-13 52 views
0

好了,所以在我的網站,我已經向我的兩個表這是辦公檯及職員表一起,所以它看起來像這樣我如何顯示每個辦公室的工作人員總數都存儲在我的數據庫在PHP?

table

我現在想也顯示教職工總數和我努力做到這一點。 這是我對Office和Staff表的查詢。我如何以及可以添加什麼來顯示每個辦公室的員工總數?

SELECT * FROM offices   
JOIN staffs    
ON offices.office_id = staffs.st_office_id; 

我希望有人能幫助我。

+0

請參閱http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- sql-query – Strawberry

+0

使用_COUNT_和_GROUP BY_ –

回答

0

它可能看起來像:

select 
    a.office_name, 
    (select count(*) from staffs b where b.st_office_id = a.office_id) 
from offices a 
+1

或者,您可以使用「group by」語句 –

+1

子查詢的性能通常不如group,因爲數據庫優化引擎也無法優化子查詢。 –

+1

太棒了!但請考慮Roger Cracel的帖子。它很重要。所以,使用GROUP BY,這將是最好的方法。 –

1

所以,你有兩個表:辦公室和工作人員,並要在所有的辦公室統計所有員工?

SELECT COUNT(1) 
    FROM offices 
    JOIN staffs ON(offices.office_id = staffs.office_id); 

如果你想每個辦事處的數目,您可以:

SELECT offices.office_id, offices.name, COUNT(1) 
    FROM offices 
    JOIN staffs ON(offices.office_id = staffs.office_id) 
GROUP BY offices.office_id, offices.name; 

希望這有助於!

相關問題