分析函数之特殊函数
(1)分析函数之偏移量函数
lag(bgnpower,1,0) over(partition by unitid order by unitid,segno)
lag(字段名,要向前偏移的行数,没有符合条件的默认值)
lead(字段名,要向后偏移的行数,没有符合条件的默认值)
①lag向前偏移
②lead向后偏移
(2)分析函数之ntile函数(好像是这样叫累计分布函数)
具体看:oracle窗口函数--cume_dist() 、nth_value()、ntile() - 托马斯骨头收集 - 博客园
①ntile函数
periodid表示1~96
96点分成24组
②nth_value() :取指定排名行的数据
nth_value(NAME ,1) from first over (order by ID)
是根据查询出的排序结果取第一行数据的值作为该列的值,如果没取到该值为空
nth_value(NAME ,4) FROM LAST over (order by ID)
这个的用法是从排序的是4名开始往后取依次错开作为该行的值
例:
源数据:
结果
例2:
(3)排名函数:rank()、dense_rank()、row_number()函数
①rank():并列排名但会产生空位排名
②dense_rank():并列排名但不会产生空位
③row_number():不会并列排名