每个父级的mysql计数chid类型

每个父级的mysql计数chid类型,mysql,Mysql,我有这样一个父表: id | name ------------- 1 | item a 2 | item b 并且有一个chid表,其中一列有2种可能的类型 parent id | name | type ------------------------------- 1 | subitem a | t1 1 | subitem b | t1 2 | subitem c | t2 2 | subitem d

我有这样一个父表:

id | name
-------------
1  | item a
2  | item b
并且有一个chid表,其中一列有2种可能的类型

parent id | name       | type
-------------------------------
1         | subitem a  | t1
1         | subitem b  | t1
2         | subitem c  | t2
2         | subitem d  | t1
2         | subitem e  | t2
有一种方法可以使用以下结果进行选择

parent id |  childs type t1 | childs type t2
-----------------------------------------------
1         |      2          |      0
2         |      1          |      2
有什么想法吗? 谢谢

包括没有孩子的父母

SELECT p.id as parent_id,
       COUNT( case when c.type = 't1' then 1 end) as  `childs type t1` ,
       COUNT( case when c.type = 't2' then 1 end) as  `childs type t2`
FROM parent p
LEFT JOIN child c
       on p.id = c.parent_id
GROUP BY p.id
也许你的答案是:
SELECT p.id as parent_id,
       COUNT( case when c.type = 't1' then 1 end) as  `childs type t1` ,
       COUNT( case when c.type = 't2' then 1 end) as  `childs type t2`
FROM parent p
LEFT JOIN child c
       on p.id = c.parent_id
GROUP BY p.id