Greenplum的窗口函数 实例操作

本文介绍了Greenplum的窗口函数在证券行业中的应用,通过实例展示了如何利用窗口函数进行复杂查询,如统计全市场交易额最大股东和每只股票交易量最大股东。分析了原SQL执行计划的性能瓶颈,并提出改写方案,以提高查询效率。总结了窗口函数在业务中的重要性和优化技巧。

目录

一、什么是窗口函数

二、例子

2.1 建表 & 导入数据

2.2 SQL执行计划分析与SQL改写

三、总结

四、常用窗口函数


一、什么是窗口函数

窗口函数允许应用程序开发人员使用标准SQL命令轻松地组成复杂的联机分析处理(OLAP)查询。例如,使用窗口表达式,用户可以计算移动平均值或各种时间间隔的总和,在各个分组内重置聚合和排序,具体窗口分区在OVER()子句中定义。窗口分区是一组被组合在一起以应用窗口函数的行。与聚合函数不同,聚合函数为每组返回一个结果值,窗口函数为每一行返回一个结果值但该值是针对特定窗口分区中的行计算的。如果未指定分区,则将在整个中间结果集上计算窗口函数。

二、例子

例如,在证券行业中,经常要根据股票交易的情况,实时统计全市场买入或者卖出股票数量最多的股东,或者按照股票代号进行分组,统计每只股票买入和卖出最多的股东,再做复杂的业务规则关联,看是否有违规交易等。我们将其业务简化,在成交表中存放股东的账号、股票代码、买入金额、卖出金额

然后分组统计全市场交易金融最大的10个股东和每只股票交易量最大的10个股东

2.1 建表 & 导入数据

# create ta
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MyySophia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值