假设我有2张桌子
公司
company_id
name
用户
id
company_id
name
每个公司都有多个用户分配给它...在users_id字段中从users表中的每个记录中引用
我如何获得显示(company_id), (company_name) and (number or users)
例如:
id# 1234 | name# Microsoft | n of users# 2000
我不知道如何进行此查询,我知道我必须使用函数COUNT()
,但我不知道如何
答案 0 :(得分: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 | COMPANY_NAME | NO_OF_USERS | |------------|--------------|-------------| | 1 | Company1 | 3 | | 2 | Company2 | 2 | | 3 | Company3 | 0 |
这是 SQLFiddle 演示
答案 1 :(得分:0)
尝试:
SELECT companies.company_id,companies.company_name,COUNT(users.id)
FROM companies, users
WHERE companies.id = users.company_id
group by companies.id
答案 2 :(得分: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