• sql笔记


    --分析函数示例
    select name,lesson,times,score,
           rank() over (partition by lesson,times order by score desc) as "RANK_L",             --排名(不连续)
           dense_rank() over (partition by lesson,times order by score desc) as "DRANK_L",      --排名(连续)
           row_number() over (partition by lesson,times order by score desc) as "ROWN_L",       --行号,非确定
           rank() over (partition by name,times order by score desc) as "RANK_P",               
           max(score) over (partition by lesson,times) as "Max RANK_L",                         --聚合,最大值
           sum(score) over (partition by NAME,times) as "RANK_SUM",                             --聚合,求和
           TRUNC(100*RATIO_TO_REPORT(score) OVER (partition by NAME,times),2) as "RATIO_S",     --当前值对SUM的百分比
           sum(score) over (partition by lesson,times) as "SUM_L",                              
           TRUNC(100*RATIO_TO_REPORT(score) OVER (partition by lesson,times),2) as "RATIO_L",   
           lag(score) over (partition by lesson,times order by score desc) as "Prev",           --引用前一行,前n行
           score - lag(score) over (partition by lesson,times order by score desc) as "D_Prev", 
           lead(score) over (partition by lesson,times order by score desc) as "Next",          --引用后一行,后n行
           score - lead(score) over (partition by lesson,times order by score desc) as "D_Next",
           PERCENT_RANK() OVER (partition by lesson,times order by SCORE desc) as "PCT_RANK_L",                     --排名百分比
           percentile_cont(0.8) within group (order by score desc) over (partition by lesson,times ) as "MID_PC",   --PERCENT_RANK反函数,在每一个分组中检查百分比排名的值并返回,如果没有精确匹配值,则取前后最近两个平均数
           percentile_disc(0.8) within group (order by score desc) over (partition by lesson,times ) as "MID_PD",   --PERCENT_RANK反函数,在每一个分组中检查百分比排名的值并返回,如果没有精确匹配值,则按排序取后一个值
           PERCENT_RANK() OVER (partition by lesson,times order by SCORE) as "PCT_RANK_L_A",
           percentile_disc(0.8) within group (order by score) over (partition by lesson,times ) as "MID_PD_A",   
           first_value(score) over (partition by lesson,times order by score desc rows between unbounded preceding and unbounded FOLLOWING) as "No1_Score",     --第1个值
           nth_value(score,2) over (partition by lesson,times order by score desc rows between unbounded preceding and unbounded following) as "2nd_Score",     --第N个值
           last_value(score) over (partition by lesson,times order by score desc rows between unbounded preceding and unbounded following) as "Last_Score",     --最后一个值
           ntile(3) over (partition by lesson,times order by score desc) as "RANK_NTILE",                   --分成N片,并返回分片序号
           listagg(name,'|') within group (order by score) over (partition by lesson,times) as LSG,    --行合并成一列(VARCHAR2)
           stddev(score) over (partition by lesson,times) as LSG        --标准差
           from t_analyze
           order by times,lesson ;
    
    --省略窗口取值,默认窗口rows between unbounded preceding and current row     窗口第一行到当前行
    --开窗语法
    --rows between
    --range between
    --开窗示例
    --sum(score) over (partition by NAME,times rows between unbounded preceding and unbounded following)      --SUM计算窗口范围:分组内所有取值
    --sum(score) over (partition by NAME,times rows between unbounded preceding and unbounded following)      --SUM计算窗口范围:分组内第一行到当前行
    业余经济爱好者
  • 相关阅读:
    Ascx中引用(调用)JS文件,在用户控件中引用(调用)JS文件转载
    网页速度优化 转载
    枚举,以及中文对应解释 转载
    js鼠标事件转载
    开源相关社区/项目一览
    字符编码 转载
    防止ASP.NET按钮多次提交的办法
    sql数据库基本语法
    你需要了解的关于浮动的一些概念
    CSS样式important和*和_:兼容IE、Firefox、Opera和Safari CSS的解决方法及CSS差别
  • 原文地址:https://www.cnblogs.com/5sdba-notes/p/14526772.html
Copyright © 2020-2023  润新知