select jdzh , sum(case when fwb='总成单' then 1 else 0 end) 总成单数, sum(case when fwb='调件单' then 1 else 0 end) 调件单数, sum(case when fwb='救急单' then 1 else 0 end) 救急单数 from 表名 group by jdzh
楼上正解,使用行转列来实现。 可以使用case when , 也可以使用decode。
楼上正解,使用行转列来实现。 可以使用case when , 也可以使用decode。
select jdzh , sum(case when fwb='总成单' then 1 else 0 end) 总成单数, sum(case when fwb='调件单' then 1 else 0 end) 调件单数, sum(case when fwb='救急单' then 1 else 0 end) 救急单数 from tb_name group by jdzh -- select jdzh , sum(decode(fwb,'总成单' ,1,0)) 总成单数, sum(decode(fwb,'调件单' ,1,0)) 调件单数, sum(decode(fwb,'救急单' ,1,0)) 救急单数 from tb_name group by jdzh
SELECT jdzh, sum(CASE WHEN fwb='总成单' THEN 1 ELSE 0 END) 总成单数, sum(CASE WHEN fwb='调件单' THEN 1 ELSE 0 END) 调件单数, sum(CASE WHEN fwb='救急单' THEN 1 ELSE 0 END) 救急单数 from tb group by jdzh;
sum(case when fwb='总成单' then 1 else 0 end) 总成单数,
sum(case when fwb='调件单' then 1 else 0 end) 调件单数,
sum(case when fwb='救急单' then 1 else 0 end) 救急单数
from 表名
group by jdzh
可以使用case when ,
也可以使用decode。
可以使用case when ,
也可以使用decode。
select jdzh ,
sum(case when fwb='总成单' then 1 else 0 end) 总成单数,
sum(case when fwb='调件单' then 1 else 0 end) 调件单数,
sum(case when fwb='救急单' then 1 else 0 end) 救急单数
from tb_name group by jdzh
--
select jdzh ,
sum(decode(fwb,'总成单' ,1,0)) 总成单数,
sum(decode(fwb,'调件单' ,1,0)) 调件单数,
sum(decode(fwb,'救急单' ,1,0)) 救急单数
from tb_name group by jdzh
sum(CASE WHEN fwb='总成单' THEN 1 ELSE 0 END) 总成单数,
sum(CASE WHEN fwb='调件单' THEN 1 ELSE 0 END) 调件单数,
sum(CASE WHEN fwb='救急单' THEN 1 ELSE 0 END) 救急单数
from tb group by jdzh;