select userid,
ceiling(percent_rank() over (order by r)/0.2) r,
ceiling(percent_rank() over (order by f)/0.2) f,
ceiling(percent_rank() over (order by m)/0.2) m
from rfm
;
充分利用数据库自带的百分比排名的分窗函数,不需要经过三次,一条sql一次扫描计算出RFM3个指标的百分比排名,并以20分为一档进行划分,将与20整除的结果进行向上取整,即可得到12345五个不同的单项星级分值。
如果在进行星级划分的时候,需要两头扣除5%再划分5档。则将现有sql进行些微的调整即可。至于如何调整,就留给各位聪明的读者啦。
领取专属 10元无门槛券
私享最新 技术干货