#每天一点点,记录工作中实操可行#
oracle 中,计算ID使用率,并根据该值计算对应的分数,有以下定义
当MTD_ID_Rare >=80% 时,分数记为40分;
当MTD_ID_Rare <= 40% 时,分数记为0分;
当MTD_ID_Rare在40% 到80%之间时,每增加1%,则分数提高1分
即,如果MTD_ID_Rare = 46%,则其分数为6分
select date_s,id,name,CITY,hub,ZONE,MTD_ID_Rare
,case when MTD_ID_Rare >=0.8 then 40 when MTD_ID_Rare <= 0.4 then 0
else MTD_ID_Rare *100-40 end ids_mark ----
from
(
select id,name,CITY ,HUB,ZONE
,to_char(date_s,'yyyy-mm-dd') date_s
,round(decode(sum(MTD_counts),0,0,sum(IDS)/sum(MTD_counts)),2) MTD_ID_Rare
from z1
where to_char(date_s,'yyyy-mm-dd') = to_char(trunc(sysdate)-1,'yyyy-mm-dd')
and id = '123654'
group by id,name,CITY ,HUB,ZONE,to_char(date_s,'yyyy-mm-dd')
)