请你帮我建立一个查询。我有一个表如下来框架成本效益的查询
Id Info_Id Type
1 2 2
2 6 2
3 5 3
4 8 3
5 2 3
6 2 2
7 5 2
8 8 2
9 5 2
10 8 2
11 8 2
12 5 3
13 6 3
14 8 3
查询需要被框住,以便按“Info_Id”进行分组。
我需要如下输出如:
Info_Id CountOfRec Type2 Type3
2 3 2 1
5 4 2 2
6 2 1 1
8 5 3 2
我尝试如下,但我不是能够得到高效输出
select Info_Id, count(Id)as CountOfRec,
(select count(Id)from tbl_TypeInfo where Info_Id = 5 AND Type = 2) as Type2,
(select count(Id)from tbl_ TypeInfo where Info_Id = 5 AND Type = 3) as Type3
from tbl_TypeInfo
where Info_Id = 5
group by Info_Id
输出是这样的,
Info_Id CountOfRec Type2 Type3
5 4 2 2
(我必须为每个“Info_id”循环才能获得所需的OP,有一千条记录nd其耗时)
我想从表中突出显示的输出。我已经构建的查询效率不高,并且会有很好的解决方案,可以帮助我解决这个问题。
太棒了!非常感谢它的正常工作。 – 2011-03-07 08:32:10
我想为Info_Id显示计数为零,而Info_Id不存在于上表中,例如:Info_Id像1,3。我怎么能实现这个PLZ。 – 2011-03-08 08:54:54
@ fairy-g是否有另一张桌子可以放置** all ** info_id's?否则无法知道不存在的值。 – 2011-03-08 09:02:13