我在MySQL中有两个表:
人
|ID | Name | Address
---------------------------------
| 1 | Someone | Somewhere
| 2 | Person2 | Somewhere else
表ActivePages
|ID | PersonID | Page
---------------------------------------
| 1 | 1 | somepage
| 1 | 1 | someotherpage
现在我需要一个查询来返回以下内容:
|PersonID | Count
------------------
|1 | 2
|2 | 0
------------------
谁可以帮我这个?我认为它是直截了当的,但我一直得到错误的价值......
提前致谢!
答案 0 :(得分:2)
SELECT p.ID AS PersonID,
COUNT(a.PersonID) AS `Count`
FROM Persons p
LEFT JOIN ActivePages a ON a.PersonID = p.ID
GROUP BY p.ID
答案 1 :(得分:0)
select personid,count(personid) as count from activepages
right join Persons on ActivePages.PersonID = Persons.ID group by personid