摘要:?最近做手機(jī)銀行營(yíng)銷名單時(shí)审残,需對(duì)評(píng)分(pf)和開(kāi)戶率(khl)進(jìn)行二維統(tǒng)計(jì) 評(píng)分和開(kāi)戶率需進(jìn)行分段統(tǒng)計(jì)。本文采用ceil函數(shù)和case語(yǔ)句兩種方法。
最近做手機(jī)銀行營(yíng)銷名單時(shí)骗绕,需對(duì)評(píng)分(pf)和開(kāi)戶率(khl)進(jìn)行二維統(tǒng)計(jì)
評(píng)分和開(kāi)戶率需進(jìn)行分段統(tǒng)計(jì)。
其中资昧,評(píng)分取值范圍:[0酬土,100],開(kāi)戶率取值范圍:[0,1]
以下為測(cè)試數(shù)據(jù):
--測(cè)試數(shù)據(jù)--檢查表是否存在格带,若存在則刪除DROPTABLEIFEXISTSyingxiao;--創(chuàng)建測(cè)試表:yingxiaoCREATETABLEyingxiao(namevarchar(10)NOTNULL,pfdouble(10,2)NOTNULL,khldouble(10,2)NOTNULL,PRIMARYKEY(name));--插入測(cè)試數(shù)據(jù)? ? ? ? ? ? ? ? ? ? ? INSERTINTOyingxiaoVALUES('a','15','0.15');INSERTINTOyingxiaoVALUES('b','25','0.25');INSERTINTOyingxiaoVALUES('c','35','0.35');INSERTINTOyingxiaoVALUES('d','40','0.4');INSERTINTOyingxiaoVALUES('e','45','0.45');INSERTINTOyingxiaoVALUES('f','55','0.55');INSERTINTOyingxiaoVALUES('g','65','0.65');INSERTINTOyingxiaoVALUES('h','54','0.66');INSERTINTOyingxiaoVALUES('i','75','0.75');INSERTINTOyingxiaoVALUES('j','85','0.85');INSERTINTOyingxiaoVALUES('k','95','0.95');
一撤缴、1個(gè)字段分段統(tǒng)計(jì)
1、方法一:ceil函數(shù)
函數(shù)名:?ceil
用 ?? 法:double ceil(double x);
功 ? 能:返回大于或者等于指定表達(dá)式的最小整數(shù)
說(shuō) ?明:float ceil ( float value )返回不小于 value 的下一個(gè)整數(shù)叽唱,value 如果有小數(shù)部分則進(jìn)一位屈呕。ceil() 返回的類型仍然是 float,因?yàn)?float 值的范圍通常比 integer 要大棺亭。
百度關(guān)于ceil函數(shù)的介紹:https://baike.baidu.com/item/ceil/10931457
select(ceil(pf/20)-1)*20asmin,ceil(pf/20)*20asmax,count(*)fromyingxiaogroupbyceil(pf/20);
評(píng)分字段分段統(tǒng)計(jì)結(jié)果:
[0虎眨,20]:1
(20,40]:3
(40,60]:3
(60嗽桩,80]:2
(80岳守,100]:2
實(shí)際上,在統(tǒng)計(jì)分組中習(xí)慣規(guī)定:“上組限不在內(nèi)”碌冶,即:a≤x
2湿痢、方法二:case語(yǔ)句
結(jié)構(gòu):case? when… then …end
SELECTsum(CASEwhenpf<20then1else0end)AS'[0,20)',sum(CASEwhenpf>20andpf<=40then1else0end)AS'[20,40)',sum(CASEwhenpf>40andpf<=60then1else0end)AS'[40,60)',sum(CASEwhenpf>60andpf<=80then1else0end)AS'[60,80)',sum(CASEwhenpf>80then1else0end)AS'[80,100]'FROMyingxiao;
二、兩個(gè)字段分段統(tǒng)計(jì)
對(duì)評(píng)分和開(kāi)戶率兩個(gè)字段進(jìn)行分組統(tǒng)計(jì)种樱,形成二維交叉表蒙袍,可將上面方法交叉使用。
select(ceil(khl*100/20)-1)*0.2askhl_min,ceil(khl*100/20)*0.2askhl_max,sum(CASEwhenpf>=0andpf<=20then1else0end)AS'pf[0,20]',sum(CASEwhenpf>=20andpf<40then1else0end)AS'pf[20,40)',sum(CASEwhenpf>=40andpf<60then1else0end)AS'pf[40,60)',sum(CASEwhenpf>=60andpf<80then1else0end)AS'pf[60,80)',sum(CASEwhenpf>=80andpf<=100then1else0end)AS'pf[80,100]',count(*)AS'pf合計(jì)'FROMyingxiaogroupbyceil(khl*100/20);
原文地址:
數(shù)據(jù)小雄博客:http://www.zhangzhengxiong.com/?id=97
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)嫩挤,版權(quán)歸作者所有害幅,本社區(qū)不擁有所有權(quán),也不承擔(dān)相關(guān)法律責(zé)任岂昭。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容以现,歡迎發(fā)送郵件至:yqgroup@service.aliyun.com?進(jìn)行舉報(bào),并提供相關(guān)證據(jù)约啊,一經(jīng)查實(shí)邑遏,本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。