Mysql 获取具有外键的表的记录计数

Mysql 获取具有外键的表的记录计数,mysql,Mysql,我有以下表格: 人员: person_id | name | ------------------------- 1 | John | 2 | Adam | 3 | Elen | ------------------------- 订单: order_id | person_id | product | -----------------------------

我有以下表格:

人员:

person_id   |   name    | 
-------------------------
1           |   John    |
2           |   Adam    |
3           |   Elen    |
-------------------------
订单:

order_id    |   person_id   |   product     | 
---------------------------------------------
1           |       1       |   TV          |
2           |       1       |   Radio       |
3           |       1       |   toothbrush  |
4           |       2       |   mp3 player  |
5           |       2       |   watch       |
6           |       3       |   ps 3        |
---------------------------------------------
现在我需要查询上面的表以获得以下结果:

person_id   |   name    |   order_count |
-----------------------------------------
1           |   John    |       3       |
2           |   Adam    |       2       |
3           |   Elen    |       1       |
-----------------------------------------
我试过这样的方法:

SELECT u.person_id, u.name, COUNT(o.order_id) FROM persons AS p LEFT JOIN orders AS o ON (p.person_id=o.person_id);
不幸的是,这不起作用。你知道怎么解决这个问题吗

select Persons.person_id, Persons.name, p.order_count 
from Persons
inner join (select person_id, count(*) as order_count from Orders group by person_id) p
on Persons.person_id = p.person_id  
如果您还需要获得那些没有任何订单的人员,请使用左连接而不是内部连接

SELECT persons.id, persons.name, COUNT(orders.id) AS order_count  FROM orders LEFT JOIN persons ON (persons.person_id=orders.person_id) GROUP BY persons.name
试试这个

从TBO中选择o.person\u id、p.name、counto.person\u id作为订单计数 加入tblpersons p on o.person\u id=p.person\u id 按o.person\u id、p.name分组

select o.person_id,p.name,count(o.person_id) as order_count from tblorders o 
Join tblpersons p on o.person_id=p.person_id
group by o.person_id,p.name
select o.person_id,p.name,count(o.person_id) as order_count from tblorders o 
Join tblpersons p on o.person_id=p.person_id
group by o.person_id,p.name