日期:2014-05-17  浏览次数:20810 次

求个sql查询
字段
类型type 状态status  
A 0
A 0  
A 1
A 1
B 0
B 1
B 2
C 1
C 2

求类似结果
第一条
类型type A 的总数是4,状态为0的个数2,为1的个数2,为2的个数0
第二条
类型type B 的总数是3,状态为0的个数1,为1的个数1,为2的个数1
第三条
类型type C 的总数是2,状态为0的个数0,为1的个数1,为1的个数1
...

------解决方案--------------------
SQL code
select type ,
count(1),
sum(decode(status,0,1,0)),
sum(decode(status,1,1,0)),
sum(decode(status,2,1,0))
from tb
group by type

------解决方案--------------------
测试数据:
SQL code

CREATE TABLE T121
(
    TYPE VARCHAR2(20),
    Status NUMBER(1)
);
INSERT INTO T121 VALUES('A', 0);
INSERT INTO T121 VALUES('A', 0);
INSERT INTO T121 VALUES('A', 1);
INSERT INTO T121 VALUES('A', 1);
INSERT INTO T121 VALUES('B', 0);
INSERT INTO T121 VALUES('B', 1);
INSERT INTO T121 VALUES('B', 2);
INSERT INTO T121 VALUES('C', 1);
INSERT INTO T121 VALUES('C', 2);