设为首页 收藏本站
查看: 930|回复: 0

[经验分享] SQL 2012 2016 2017 新增函数简结

[复制链接]

尚未签到

发表于 2018-6-18 07:55:42 | 显示全部楼层 |阅读模式
SELECT *  ,CUME_DIST( )OVER (PARTITION BY MyName ORDER BY Num) AS 'CUME_DIST'     --相对(最大值)位置
  ,PERCENT_RANK( )OVER (PARTITION BY MyName ORDER BY Num) AS 'PERCENT_RANK' --相对排名,排名分数参考 CUME_DIST
  ,FIRST_VALUE (MyName)OVER ( ORDER BY Num ASC) AS 'FIRST_VALUE'          --Num 最低的是哪个MyName
  ,LAST_VALUE  (MyName)OVER ( ORDER BY Num ASC) AS 'LAST_VALUE'           --Num 排序选底部的那个MyName
  ,LAG (Num,1,0)OVER (ORDER BY Num ASC) AS 'LAG'      --上/下一行(或多行)的值移到下/上一行(或多行),方便对比
  ,LEAD (Num,1,0)OVER (ORDER BY Num ASC) AS 'LEAD'    --与LAG一样,排序相反
  ,PERCENTILE_CONT(0.5)WITHIN GROUP (ORDER BY Num) OVER (PARTITION BY MyName) AS 'PERCENTILE_CONT' --连续分布计算百分位数
  ,PERCENTILE_DISC(0.5)WITHIN GROUP (ORDER BY Num) OVER (PARTITION BY MyName) AS 'PERCENTILE_DISC' --离散分布计算百分位数
  FROM (VALUES('AA',55),('AA',30.5),('BB',55),('BB',99),('BB',0),('BB',55))AS T(MyName,Num)
  ORDER BY Num ASC
  /*
  MyName  Num     CUME_DIST   PERCENT_RANK    FIRST_VALUE LAST_VALUE  LAG     LEAD    PERCENTILE_CONT PERCENTILE_DISC
  ------  -----   ---------   ------------    ----------- ----------  -----   -----   --------------- ---------------
  BB      0.0     0.25        0               BB          BB          0.0     30.5    55              55.0
  AA      30.5    0.5         0               BB          AA          0.0     55.0    42.75           30.5
  AA      55.0    1           1               BB          BB          30.5    55.0    42.75           30.5
  BB      55.0    0.75        0.33333         BB          BB          55.0    55.0    55              55.0
  BB      55.0    0.75        0.33333         BB          BB          55.0    99.0    55              55.0
  BB      99.0    1           1               BB          BB          55.0    0.0     55              55.0
  */

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-525199-1-1.html 上篇帖子: windows下面使用awk、sed、grep、gnuplot 下篇帖子: Windows Server Backup还原活动目录问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表