如何让孩子在桌子上数

时间:2015-05-22 13:06:40

标签: sql postgresql

在PostgreSQL中,如何获取表中任何父级的子项数

示例

Tag       ChildCnt
--------------
1          3 
1.1        0
1.2        1
1.2.1      0
2          2
2.1        0    
2.2        0  

1 个答案:

答案 0 :(得分:0)

可能不是最快的一个:

select tag, 
       (select count(*) from some_table t2 where t2.tag like t1.tag||'%' and t2.tag <> t1.tag) as child_count
from some_table t1
order by tag;

SQLFiddle:http://sqlfiddle.com/#!15/b818d/1