Window Functions

窗口函数不会像非窗口聚合调用那样使行分组到单个输出行中。相反,这些行保留了它们单独的身份。不可以和GROUP BY、 WHERE子句一起用。如果在执行窗口计算后需要过滤或分组行,则可以使用子选择。

SELECT depname, empno, salary, avg(salary) OVER (PARTITION BY depname) FROM empsalary;

您还可以使用OVER中的顺序BY来控制窗口函数处理行的顺序。(窗口顺序BY甚至不必与行的顺序匹配。)下面是一个例子:

SELECT depname, empno, salary,
 rank() OVER (PARTITION BY depname ORDER BY salary DESC)
FROM empsalary;

窗口函数结合where子句使用示例

SELECT depname, empno, salary, enroll_date
FROM
 (SELECT depname, empno, salary, enroll_date,
 rank() OVER (PARTITION BY depname ORDER BY salary DESC,
 empno) AS pos
 FROM empsalary
 ) AS ss
WHERE pos < 3;

当一个查询涉及多个窗口函数时,可以用一个单独的OVER子句写出每个窗口函数,但如果多个函数需要相同的窗口行为,这是重复的和容易出错的。相反,每个窗口行为都可以在窗口子句中命名,然后在OVER中引用。例如

SELECT sum(salary) OVER w, avg(salary) OVER w
 FROM empsalary
 WINDOW w AS (PARTITION BY depname ORDER BY salary DESC);

postgresql Window Functions相关推荐

  1. mysql 窗口函数最新一条_MySQL 8.0 窗口函数(window functions)

    窗口函数(window functions)是数据库的标准功能之一,主流的数据库比如Oracle,PostgreSQL都支持窗口函数功能,MySQL 直到 8.0 版本才开始支持窗口函数. 窗口函数, ...

  2. 【Clickhouse】Clickhouse 分析函数 window functions 窗口函数

    文章目录 1.概述 1.1.窗口函数: 1.2.标准SQL语法 1.3.分析函数分类: 2.Top N: 3.案例 1.概述 转载:Clickhouse 分析函数 window functions 窗 ...

  3. 3.5 Window Functions

    3.5 窗口函数 窗口函数针对当前行,对一组表行进行计算.这类似于使用聚合函数进行的计算.然而,窗口函数不会像非窗口函数那样将行分组聚合为一行输出,而是这些行保留各自的属性.而且,窗口函数能够不仅仅访 ...

  4. Flink 窗口函数(Window Functions)增量聚合函数

    文章目录 增量聚合函数(incremental aggregation functions) 归约函数(ReduceFunction) 聚合函数(AggregateFunction) 定义了窗口分配器 ...

  5. Presto 文档学习之 窗口函数(Window Functions)排名函数(Ranking Functions)

    Hello!大家好,本人菜鸟一枚,最近在领导的要求下学习Prestodb,没办法只能打开官方文档来自我学习,对于英语渣的我来说无疑是痛苦的,看到的页面和天书一样 谷歌翻译过来的吧 很多句子看不懂想要具 ...

  6. SQL Server Window Function 窗体函数读书笔记二 - A Detailed Look at Window Functions

    这一章主要是介绍 窗体中的 Aggregate 函数, Rank 函数, Distribution 函数以及 Offset 函数. Window Aggregate 函数 Window Aggrega ...

  7. Flink 窗口函数(Window Functions)处理迟到数据

    文章目录 将迟到的数据放入侧输出流 Lambda架构:用一个流处理器,先快速的得到一个正确,近似正确的结果,然后在另外一层是一个批处理器,然后在它是一直等着的,等所有数据都到齐了,计算出一个最终准确的 ...

  8. MariaDB Window Functions窗口函数分组取TOP N记录

    窗口函数在MariaDB10.2版本里实现,其简化了复杂SQL的撰写,提高了可读性. 在某些方面,窗口函数类似于聚集函数, 但它不像聚集函数那样每组只返回一个值,窗口函数可以为每组返回多个值. 作为一 ...

  9. mysql group by over,PostgreSQL相当于MySQL GROUP BY

    反向标记是一种非标准的MysqL事物.使用规范的双引号引用标识符(也可以在MysqL中引用).也就是说,如果您的表实际上被命名为"MY_TABLE"(全部大写).如果你(更明智地) ...

最新文章

  1. java2实用教程--第二章基本数据类型与数组
  2. 《C++面向对象高效编程(第2版)》——2.30 has-a关系的重要性
  3. String常用操作,StringBuffer。
  4. Python教程:Python内置数据结构之双向队列!
  5. 【算法题】Multiples of 3 and 5
  6. maya扇子动画_maya怎么制作一个万箭齐发的效果?
  7. FineReport(二)帆软报表图表的
  8. 超微 X9DRL-iF 服务器主板简介 BIOS相关图解
  9. 使用submit异步提交,阻止表单默认提交
  10. 昨天发现,博客排名进行了两次
  11. 天正双击墙体不能编辑_天正CAD绘图必须要知道的技巧
  12. 【项目】STC15W408AS--烧写、数码管、按键、串口通信、ADC
  13. 联想笔记本插入耳机仍外放--解决方式
  14. python读取一个文件夹下所有图片_初学Python-找出文件夹下的所有图片
  15. 听说你想去大厂看学妹,带你看看小米前端实习岗面试长啥样?
  16. 全球及中国车载定位模块行业发展格局与运营动向分析报告2022版
  17. hdu 1116 并查集和欧拉路径
  18. 双软企业税收优惠政策
  19. java的switch_Java中Switch用法代码示例
  20. 试题 算法训练 礼物

热门文章

  1. 解决64位Archlinux下支付宝插件不能用的问题
  2. 工作两年,你有没有觉得很吃力?(干货经验分享)
  3. javaScript学习笔记:用城市代码查询城市天气
  4. Vue实例与数据绑定
  5. 代码审计利器-Seay源代码审计系统
  6. 如何使用12tool二维码合成器将多张二维码图片生成一张动态GIF图?
  7. 移动通信基础(11)跳频
  8. 个人陈述怎么写计算机专业自招,2018自主招生:个人陈述这样写可提高自招初审成功率...
  9. share 分享到其他平台 代码
  10. 鼎捷t100架构_鼎捷T100发布 打造“互联网+制造”企业智能互联云平台