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对于组合字段的排序,暂时了解一下






目录
相关文章
|
9月前
|
安全 Ubuntu iOS开发
Tenable Nessus 10.11 发布 - 漏洞评估解决方案
Tenable Nessus 10.11 发布 - 漏洞评估解决方案
321 15
Tenable Nessus 10.11 发布 - 漏洞评估解决方案
|
7月前
|
人工智能 自然语言处理 数据挖掘
AI Agent指挥官在智能体来了(西南总部)中的定义、职责与Prompt控制逻辑
AI Agent指挥官是多智能体系统的调度与治理中枢,通过任务拆解、角色分配、Prompt统一管控及闭环反馈,将大模型“个体智能”升维为可控、可解释、可扩展的“组织智能”,赋能企业级智能协同与产业落地。(
392 2
|
算法 安全 物联网
关于SM2、SM3、SM4、SM9这四种国密算法
本文介绍了四种国密算法——SM2、SM3、SM4和SM9。SM2是一种基于椭圆曲线的非对称加密算法,用于数据加密和数字签名;SM3是哈希算法,用于数字签名和消息完整性验证;SM4是对称加密算法,用于数据加密和解密;SM9是基于标识的非对称密码算法,适用于物联网环境中的数据安全和隐私保护。
11834 121
|
人工智能 自然语言处理 算法
|
缓存 JavaScript UED
Vue 中实现组件的懒加载
【10月更文挑战第23天】组件的懒加载是 Vue 应用中提高性能的重要手段之一。通过合理运用动态导入、路由配置等方式,可以实现组件的按需加载,减少资源浪费,提高应用的响应速度和用户体验。在实际应用中,需要根据具体情况选择合适的懒加载方式,并结合性能优化的其他措施,以打造更高效、更优质的 Vue 应用。
|
机器学习/深度学习 人工智能 自然语言处理
算法金 | 秒懂 AI - 深度学习五大模型:RNN、CNN、Transformer、BERT、GPT 简介
**RNN**,1986年提出,用于序列数据,如语言模型和语音识别,但原始模型有梯度消失问题。**LSTM**和**GRU**通过门控解决了此问题。 **CNN**,1989年引入,擅长图像处理,卷积层和池化层提取特征,经典应用包括图像分类和物体检测,如LeNet-5。 **Transformer**,2017年由Google推出,自注意力机制实现并行计算,优化了NLP效率,如机器翻译。 **BERT**,2018年Google的双向预训练模型,通过掩码语言模型改进上下文理解,适用于问答和文本分类。
1384 9
人员排班【数学规划的应用(含代码)】阿里达摩院MindOpt
本文介绍了使用阿里巴巴达摩院的MindOpt工具解决人员排班的数学规划问题。人员排班在多个行业中至关重要,如制造业、医疗、餐饮和零售等。问题涉及多种约束,包括工作需求、员工能力、工作时间限制、连续工作天数及公平性。通过MindOpt云建模平台和建模语言MindOpt APL,建立数学模型并编写代码来解决最小化总上班班次的问题。案例中展示了如何声明集合、参数、变量和约束,并给出了部分代码示例。最后,通过MindOpt求解器得到最优解,并将结果输出到CSV文件中。
|
机器学习/深度学习 算法 数据处理
【MATLAB】史上最全的17种信号分解+FFT+HHT组合算法全家桶
【MATLAB】史上最全的17种信号分解+FFT+HHT组合算法全家桶
689 0
|
安全 Java Windows
不可或缺的BCUninstaller:全面显示软件信息、批量垃圾删除、强制卸载程序……
不可或缺的BCUninstaller:全面显示软件信息、批量垃圾删除、强制卸载程序……
1372 0
|
数据安全/隐私保护 Python
Python操作PDF全总结|pdfplumber&PyPDF2
Python操作PDF全总结|pdfplumber&PyPDF2
1098 0

热门文章

最新文章