select name,count(name),sum(decode(sign(a1),1,decode(sign(a2-10),1,1)))a from tab group by name9i 下可以这样:
select name,count(name),sum(case when a1>0 then 1 end) a , sum(case when a1>0 and a2 >10 then 1 end) from tab group by name
select name,count(name),sum(case when a1>0 then 1 end) a , sum(case when a1>0 and a2 >10 then 1 end) from tab group by name
select name,count(name),sum(decode(sign(a1),1,1,0)),sum(decode(sign(a1),1,decode(sign(a2-10),1,1,0),0)) from tab group by name呵呵,寻漏掉一列了
sum(case when a1>0 then 1 else o end )a1,
sum(case when a1>0 and a2>10 then 1 else 0 end)a2
from tab group by name