[英]SQL Count Rows From Multiple tables
可以說我有2張桌子
公司介紹
company_id
name
用戶數
id
company_id
name
每個公司都有多個用戶分配給它...在users表的每個記錄的company_id字段中引用
我如何獲得顯示(company_id), (company_name) and (number or users)
例如:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.