簡體   English   中英

來自多個表的SQL計數行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM