几种分析函数的使用方法

几种分析函数的使用方法

ID:39242520

大小:288.32 KB

页数:8页

时间:2019-06-28

几种分析函数的使用方法_第1页
几种分析函数的使用方法_第2页
几种分析函数的使用方法_第3页
几种分析函数的使用方法_第4页
几种分析函数的使用方法_第5页
资源描述:

《几种分析函数的使用方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、几种常用分析函数的使用方法几种常用的分析函数如上所示。下面将以下表为例对使用方法进行演示。表名:tmp_userarea_codeserv_numbertotal_fee370139037000021003711360766000280370139037000012003711360766000380370139037000035037113607660001280Rank/Dense_rank/Row_number求排名first/last求最前最后一名NTILE/WIDTH_DUCKET求结果分组CUME_DIST/PERCENT_RANK求排名占比WITHINGROUP求某值的排名

2、Selecta.*, rank()over(partitionbyarea_codeorderbytotal_fee)id1,dense_rank()over(partitionbyarea_codeorderbytotal_fee)id2,row_number()over(partitionbyarea_codeorderbytotal_fee)id3 fromtmp_useraRank/Dense_rank/Row_numberAREA_CODESERV_NUMBERTOTAL_FEEID1ID2ID337013903700003501113701390370000210022237

3、0139037000012003333711360766000280111371136076600038011237113607660001280323上面语句分别用三个函数展示了每个用户按消费额在该地市的排名。Rank和dense_rank对于相同的值都采用相同的排名,但是rank会跳过接下来的若干名次,而dense_rank不会。Row_number则不会出现相同的名次,对于相同的值的排序是任意的。Partitonby的功能是将结果集分组,该项也可不用。以上示例是按照地市分组。分组排序应用示例上面语句取各地市消费最高的用户Selectarea_code,serv_number,tot

4、al_feefrom(Selecta.*,rank()over(partitionbyarea_codeorderbytotal_feedesc)idfromtmp_usera)whereid=13701390370000120037113607660001280first/lastSelectarea_code,min(SERV_NUMBER)keep(dense_ranklastorderbytotal_fee)idfromtmp_useragroupbyarea_code3701390370000137113607660001该语句功能为获取各地市消费最高的用户。Min(serv_

5、number)是指在排名相同时,取较小的号码。该函数使用时必须使用dense_rank。该语句也可写成dense_rankfirstorderbytotal_feedescNTILESelectAREA_CODE,SERV_NUMBER,ntile(3)over(orderbysum(total_fee))idfromtmp_useragroupbyAREA_CODE,SERV_NUMBER370139037000031371136076600021371136076600032370139037000022370139037000013371136076600013NTILE函数将结果

6、集分为几个分区,上面例子显示了消费前三分之一的用户及后三分之一的用户。WIDTH_DUCKETSelectAREA_CODE,SERV_NUMBER,WIDTH_BUCKET(TOTAL_FEE,100,300,3)id,TOTAL_FEEfromtmp_useraWIDTH_DUCKET函数按值的区间来分组。以上按照100~300区间均分为三组。分组值从1开始,遇到不在设定的范围内的值,会自动产生两个组,0和N+1370139037000030503701390370000211003701390370000122003711360766000208037113607660003080

7、371136076600013280CUME_DIST/PERCENT_RANKSelecta.*,DENSE_RANK()over(orderbytotal_fee)ID,CUME_DIST()over(orderbytotal_fee)CUME_DIST,PERCENT_RANK()over(orderbytotal_fee)PERCENT_RANK,1/6,fromtmp_useraCUME_DIST:计算小于或等于当前排名的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。