日期:2014-05-18  浏览次数:20420 次

[求助]两个次数统计同时显示在一个GridView中的问题
现在有一个表中有一个字段parentId,现在想统计根节点、子节点的个数,如果分开写的话是这样,根节点个数:select   count(*)   AS   根节点个数   from   tbTree   where   parentid=0,一级子节点个数   select   count(*)   AS   一级子节点个数   from   tbTree   where   parentid=1,以此类推。现在想把各种节点的个数显示在同一个GridView中,显示成下面这样的表,应该怎么做啊。

根节点个数             一级子节点个数

        1                                       6


------解决方案--------------------
select (select count(*) from tbTree where parentid=0) AS 根节点个数,
(select count(*) from tbTree where parentid=1) AS 一级子节点个数
......
依此类推

------解决方案--------------------
像樓上那樣用子查詢的話,效率上差一點,可以改用CASE WHEN來實現

Select
SUM(Case parentid When 0 Then 1 Else 0 End) As 根节点个数,
SUM(Case parentid When 1 Then 1 Else 0 End) As 一级子节点个数
From
tbTree