0

假设我有 2 张桌子

公司

company_id    
name

用户

id
company_id
name

每个公司都有多个分配给它的用户...在用户表中每条记录的 company_id 字段中引用

我怎样才能得到显示的记录(company_id), (company_name) and (number or users)

例如:

id# 1234 | name# Microsoft | n of users# 2000 

我不知道如何进行此查询,我知道我必须使用该功能COUNT()但我不知道如何

4

3 回答 3

1

如果您想获得所有公司,即使他们还没有任何用户使用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 | 公司名称 | NO_OF_USERS |
|------------|--------------|-------------|
| 1 | 公司1 | 3 |
| 2 | 公司2 | 2 |
| 3 | 公司3 | 0 |

这是SQLFiddle演示

于 2013-09-28T06:41:22.773 回答
0

尝试 :

SELECT companies.company_id,companies.company_name,COUNT(users.id)
FROM companies, users
WHERE companies.id = users.company_id
group by companies.id
于 2013-09-28T06:34:39.250 回答
0

这将是查询

select Companies.company_id,Companies.name,count(Users .id) from Companies,Users where Companies=company_id  and Users =company_id group by company_id
于 2013-09-28T06:34:59.130 回答