create PROCEDURE pro_test @clusterid int,@trainid int as insert into trainresult select @clusterid,count(*),1.0*sum(case when churnflag=0 then 1 else 0 end)/count(*) from traindata where clusterid =@clusterid and trainid=@trainid
insert into trainresult (trainid,clusterid,customernum,churnrate) (select trainid,clusterid,count(customerid),sum(case churnflag when 0 then 1 else 0 end))/count(customerid) from traindata group by trainid, clusterid)
create PROCEDURE pro_test @clusterid int, @trainid int as insert into trainresult select @clusterid, count(clusterid), 1 - sum(cast(churnflag as int))/count(clusterid) from traindata where clusterid =@clusterid and trainid=@trainid
to tj_dns(愉快的登山者), 你这个1 - sum(cast(churnflag as int))会不会有问题?
as
insert into trainresult
select @clusterid, count(clusterid), 1 - sum(cast(churnflag as int))/count(clusterid)
from traindata where clusterid =@clusterid and trainid=@trainid
你这个1 - sum(cast(churnflag as int))会不会有问题?