可以說我有2個表SQL count行從多個表
公司
company_id
name
用戶
id
company_id
name
每個公司有多個用戶分配給它......這是在引用用戶表中每條記錄的company_id字段
如何獲取顯示的記錄
爲如:
id# 1234 | name# Microsoft | n of users# 2000
我不知道如何使這個查詢,我知道我必須使用功能COUNT()
,但我不知道如何
可以說我有2個表SQL count行從多個表
公司
company_id
name
用戶
id
company_id
name
每個公司有多個用戶分配給它......這是在引用用戶表中每條記錄的company_id字段
如何獲取顯示的記錄
爲如:
id# 1234 | name# Microsoft | n of users# 2000
我不知道如何使這個查詢,我知道我必須使用功能COUNT()
,但我不知道如何
如果你想,即使他們沒有任何用戶尚未使用OUTER JOIN
SELECT c.company_id, c.name company_name, COUNT(u.id) no_of_users
FROM companies c LEFT JOIN users u
ON c.company_id = u.company_id
GROUP BY c.company_id, c.name
樣本輸出所有企業:
| COMPANY_ID | COMPANY_NAME | NO_OF_USERS | |------------|--------------|-------------| | 1 | Company1 | 3 | | 2 | Company2 | 2 | | 3 | Company3 | 0 |
這裏是SQLFiddle演示
嘗試:
SELECT companies.company_id,companies.company_name,COUNT(users.id)
FROM companies, users
WHERE companies.id = users.company_id
group by companies.id
這將是查詢
select Companies.company_id,Companies.name,count(Users .id) from Companies,Users where Companies=company_id and Users =company_id group by company_id
這是實際上甚至更好:D –