hive-oracle-常用分析函数-窗口函数
常用的分析函数如下所列:
row_number() over(partition by ... order by ...)
rank() over(partition by ... order by ...)
dense_rank() over(partition by ... order by ...)
count() over(partition by ... order by ...)
max() over(partition by ... order by ...)
min() over(partition by ... order by ...)
sum() over(partition by ... order by ...)
avg() over(partition by ... order by ...)
first_value() over(partition by ... order by ...)
last_value() over(partition by ... order by ...)
lag() over(partition by ... order by ...)
lead() over(partition by ... order by ...)
详解:https://fxz-2008.iteye.com/blog/1007986
LAG( 列名,之后n行,空值时的填充 ) OVER ( PARTITION BY class ORDER BY click_id )
Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返回多行,而聚合函数对于每个组只返回一行。
Parttion by 关键字是Oracle中分析性函数的一部分,它和聚合函数不同的地方在于它能够返回一个分组中的多条记录,儿聚合函数一般只有一条反映统计值的结果。
lead(列名,n,m): 当前记录后面第n行记录的<列名>的值,没有则默认值为m;如果不带参数n,m,则查找当前记录后面第一行的记录<列名>的值,没有则默认值为null。
lag(列名,n,m): 当前记录前面第n行记录的<列名>的值,没有则默认值为m;如果不带参数n,m,则查找当前记录前面第一行的记录<列名>的值,没有则默认值为null。
最新文章
- TortoiseSVN的使用
- tornado学习笔记19 Tornado框架分析
- EmptyResultDataAccessException
- MVC3在IIS7.5发布(部署)报403.14错误的解决办法
- Uva 725 Division
- 【HDU】3516 Tree Construction
- java 中获取文件路径
- Javascript中new
- ECLIPSE中反编译插件JAD的配置安装,轻松查看JAVA源代码
- Redis 小白指南(一)- 简介、安装、GUI 和 C# 驱动介绍
- 单词接龙dfs洛谷
- 2017年国内常用的公共NTP服务
- Machine Learning From Scratch-从头开始机器学习
- Matlab rgb2hsv
- python 文件写入错误
- CM+CDH大数据平台
- javascript 生存周期
- SpringMVC+Spring+MyBatis 整合与图片上传简单示例
- vmware中的 CentOS7 虚机磁盘动态扩容
- Robust Mesh Watermarking