这样应该可以吧!
select a.name ,
sum(decode(status,'1',1,0)) as state1,
sum(decode(status,'2',1,0)) as state2,
sum(decode(status,'3',1,0)) as state3,
sum(decode(status,'4',1,0)) as state4
from atest a group by a.nameSQL> select a.name ,
2 sum(decode(status,'1',1,0)) as state1,
3 sum(decode(status,'2',1,0)) as state2,
4 sum(decode(status,'3',1,0)) as state3,
5 sum(decode(status,'4',1,0)) as state4
6 from atest a group by a.name
7 ;NAME STATE1 STATE2 STATE3 STATE4
-------------------- ---------- ---------- ---------- ----------
name1 0 2 3 2
select a.name ,
sum(decode(status,'1',1,0)) as state1,
sum(decode(status,'2',1,0)) as state2,
sum(decode(status,'3',1,0)) as state3,
sum(decode(status,'4',1,0)) as state4
from atest a group by a.nameSQL> select a.name ,
2 sum(decode(status,'1',1,0)) as state1,
3 sum(decode(status,'2',1,0)) as state2,
4 sum(decode(status,'3',1,0)) as state3,
5 sum(decode(status,'4',1,0)) as state4
6 from atest a group by a.name
7 ;NAME STATE1 STATE2 STATE3 STATE4
-------------------- ---------- ---------- ---------- ----------
name1 0 2 3 2
sum(decode(status,'1',1,0)) as state1,
sum(decode(status,'2',1,0)) as state2,
sum(decode(status,'3',1,0)) as state3,
sum(decode(status,'4',1,0)) as state4
from tbname
group by name
如果状态state没有为 1 得数据,
这样我就不能查到数据,
我现在需要所有得数据。