greenplum 开窗函数

简介: greenplum 分析函数 开窗函数(每一行返回结果)区分于聚合函数,聚合函数统计的是汇总后的结果,没有明细数据,如果统既要计结果又要明细,开窗函数就比较简单 tutorial=> select * fr...
greenplum 分析函数

开窗函数(每一行返回结果)区分于聚合函数,聚合函数统计的是汇总后的结果,没有明细数据,如果统既要计结果又要明细,开窗函数就比较简单

tutorial=> select * from test002 order by name;
id | name
----+------
  1 | gh
  1 | gh2
  2 | gh2
  4 | gh2
  2 | gh2
  3 | gh3
  3 | gh4
(7 rows)


tutorial=> select count(1),name from test002 group by name;
count | name
-------+------
     1 | gh4
     1 | gh
     4 | gh2
     1 | gh3
(4 rows)

按照姓名排序,rank():相同者为相同数据,row_number():相同者顺序也是不同
tutorial=> select id,name ,rank() over ( partition by name order by name desc), row_number() over (
partition by name order by name  desc) from test002; id | name | rank | row_number
----+------+------+------------
  3 | gh3  |    1 |          1
  1 | gh   |    1 |          1
  2 | gh2  |    1 |          1
  4 | gh2  |    1 |          2
  2 | gh2  |    1 |          3
  1 | gh2  |    1 |          4
  3 | gh4  |    1 |          1
(7 rows)



tutorial=> select id, name , sum(id) over () sum1,
tutorial-> sum(id) over (order by id) sum2,
tutorial-> sum(id) over ( partition by name) sum3,
tutorial-> sum(id) over ( partition by name order by name desc) sum4
tutorial-> from test002;
id | name | sum1 | sum2 | sum3 | sum4
----+------+------+------+------+------
  1 | gh2  |   16 |    2 |    9 |    9
  1 | gh   |   16 |    2 |    1 |    1
  2 | gh2  |   16 |    6 |    9 |    9
  2 | gh2  |   16 |    6 |    9 |    9
  3 | gh4  |   16 |   12 |    3 |    3
  3 | gh3  |   16 |   12 |    3 |    3
  4 | gh2  |   16 |   16 |    9 |    9
(7 rows)


sum1为所有之和,
sum2不能理解
sum3为按照姓名排序的结果只
sum4..

grouping sets对于组合字段的排序,暂时了解一下






目录
相关文章
|
18天前
|
SQL HIVE
hive窗口函数应用实例
hive窗口函数应用实例
111 3
|
18天前
|
SQL HIVE 索引
Hive【Hive(五)函数-高级聚合函数、炸裂函数】
Hive【Hive(五)函数-高级聚合函数、炸裂函数】
|
18天前
|
SQL HIVE 索引
Hive窗口函数案例总结
Hive窗口函数案例总结
|
10月前
|
SQL HIVE
Hive学习---4、函数(单行函数、高级聚合函数、炸裂函数、窗口函数)(二)
Hive学习---4、函数(单行函数、高级聚合函数、炸裂函数、窗口函数)(二)
|
18天前
|
SQL 数据可视化 数据挖掘
Hive窗口函数详细介绍
Hive窗口函数详细介绍
101 0
|
18天前
|
SQL BI HIVE
Hive补充之窗口函数
Hive补充之窗口函数
48 0
|
10月前
|
SQL JSON Java
Hive学习---4、函数(单行函数、高级聚合函数、炸裂函数、窗口函数)(一)
Hive学习---4、函数(单行函数、高级聚合函数、炸裂函数、窗口函数)(一)
|
SQL HIVE
hive的窗口函数、分析函数有哪些?
窗口函数FIRST_VALUE:取分组内排序后,截止到当前行,第一个值LAST_VALUE: 取分组内排序后,截止到当前行,最后一个值LEAD(col,n,DEFAULT) :用于统计窗口内往下第n行值。第一个参数为列名,第二个参数为往下第n行(可选,默认为1),第三个参数为默认值(当往下第n行为NULL时候,取默认值,如不指定,则为NULL)LAG(col,n,DEFAULT) :与lead相反,用于统计窗口内往上第n行值。第一个参数为列名,第二个参数为往上第n行(可选,默认为1),第三个参数为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为NULL)OVER从句1、使用标准的聚
94 0
|
SQL 数据挖掘 关系型数据库
Hive 高阶--分组窗口函数--OLAP 相关分组函数(GROUPING SETS,CUBE,ROLLUP)|学习笔记
快速学习 Hive 高阶--分组窗口函数--OLAP 相关分组函数(GROUPING SETS,CUBE,ROLLUP)
180 0
Hive 高阶--分组窗口函数--OLAP 相关分组函数(GROUPING SETS,CUBE,ROLLUP)|学习笔记
|
SQL HIVE 开发者
Hive 高阶--分组窗口函数--聚合函数集成分组函数(SUM)|学习笔记
快速学习 Hive 高阶--分组窗口函数--聚合函数集成分组函数(SUM)
263 0

热门文章

最新文章