1. 程式人生 > >【sql語句】一個表中含有id和父親id,統計父親有多少個孩子

【sql語句】一個表中含有id和父親id,統計父親有多少個孩子

將表和他自己連線~

select *
from tb_comment a left join tb_comment b 
on b.c_fatherid=a.cid 

得到右側有空的結果,空的地方count(*)會被統計,用count(column)不會被統計~

1)count(*)所有行進行統計,包含值為null的行。

2)count(column)會對指定列具有的行數進行統計,除去值為NULL的行。

3)count(1)與count(*) 的效果是一樣的。


select a.cid, count(b.cid)
from tb_comment a left join tb_comment b 
on b.c_fatherid=a.cid 
group by a.cid;

結果如下: