我有两个具有父子关系的表:
以id
为索引的PARENT表
id | name
----------------
1 | Bob
2 | Mike
3 | Joe
以
id
为索引的CHILDREN表 id | parent | name
-------------------------
1 | 1 | Ronald
2 | 2 | Sammy
3 | 3 | Jenny
4 | 1 | Tara
5 | 3 | Jack
我想在我的网站上显示所有父母及其子女的清单,如下所示:
id | name | Children Count
-------------------------------
1 | Bob | 2
2 | Mike | 1
3 | Joe | 2
有效的方法是什么?请注意,这里我代表了数据结构的简化版本,在我的实际情况下,我的
PARENT
表中大约有10000条记录,每个parent
都有大约10 - 200
children
。如果您建议在
count
表中添加PARENT
列,您是否知道我在count
表中进行更改时,MYSQL
将由CHILDREN
自动更新的任何方式? 最佳答案
SELECT p.id,
p.name,
COUNT(c.id) AS children_count
FROM parent p
LEFT JOIN children c ON p.id = c.parent
GROUP BY p.id
关于mysql - 获得 child 人数的好方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9093431/