Oracle SQL - HAVING和分析函数的执行顺序

分析函数是基于最终的结果集进行开窗的,所以HAVING比分析函数先执行

 ↓ 没有HAVING时,MAX(col3) over()是A2

SQL> WITH subq_a AS2   (SELECT 'A' col1, 'A1' col2, 10 col33      FROM dual4    UNION ALL5    SELECT 'A' col1, 'A1' col2, -5 col36      FROM dual7    UNION ALL8    SELECT 'A' col1, 'A2' col2, 10 col39      FROM dual10    UNION ALL11    SELECT 'A' col1, 'A2' col2, -15 col312      FROM dual)13  SELECT col1, col2, SUM(col3) s_col3, MAX(col2) over() x_col214    FROM subq_a15   GROUP BY col1, col216  /COL1 COL2     S_COL3 X_COL2
---- ---- ---------- ------
A    A1            5 A2
A    A2           -5 A2

 ↓ 有HAVING时,分析函数在HAVING执行过滤后的结果集上开窗计算结果,MAX(col3) over()变成A1

SQL> WITH subq_a AS2   (SELECT 'A' col1, 'A1' col2, 10 col33      FROM dual4    UNION ALL5    SELECT 'A' col1, 'A1' col2, -5 col36      FROM dual7    UNION ALL8    SELECT 'A' col1, 'A2' col2, 10 col39      FROM dual10    UNION ALL11    SELECT 'A' col1, 'A2' col2, -15 col312      FROM dual)13  SELECT col1, col2, SUM(col3) s_col3, MAX(col2) over() x_col214    FROM subq_a15   GROUP BY col1, col216  HAVING SUM (col3) > 017  /COL1 COL2     S_COL3 X_COL2
---- ---- ---------- ------
A    A1            5 A1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/825241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

day81 session会话 文件上传

知识点: session 文件上传 一 session 1)session:会话 在服务器端存储信息 指客户与服务器的会话 当用户通过浏览器访问服务器的某个页面时,在服务器开辟一个内存空间session 每个session 有唯一的id 2)session过期 …

C——文件操作

1.前言 为什么要使用文件呢? 文件是储存在电脑的磁盘中的,如果没有文件,我们写程序的数据就会存储在电脑的内存中,程序退出,操作系统就会收回内存,数据就丢失了等再次运行程序的时候,是看不到…

【春秋云镜】CVE-2023-43291 emlog SQL注入

靶场介绍 emlog是一款轻量级博客及CMS建站系统,在emlog pro v.2.1.15及更早版本中的不受信任数据反序列化允许远程攻击者通过cache.php组件执行SQL语句。 不感兴趣的可以直接拉到最后面,直接获取flag 备注:没有通过sql注入获取到flag&…

汇编语言——将DX,AX组成的32位数逻辑左移3位

data segment data ends stack segment stacktop label worddw 100 dup (?) stack ends code segmentassume cs:code,ds:data,ss:stack main proc farmov ax,datamov ds,axmov ax,stackmov ss,axlea sp,top;0000 0001 1100 1010 | 0000 0010 0001 1111;逻辑左移三位后&#xf…

基于SpringBoot框架的智慧食堂

采用技术 基于SpringBoot框架实现的web的智慧社区系统的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringBootMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 页面展示效果 系统功能 系统首页 用户注册页面 菜品信息页面 …

spispio

SS:NSS( NOT SLAVE SELET )、CS( CHIP SELECT ) 同步:SCK引脚用于提供时钟信号,数据位的输出和输入都是在SCK的上升沿或下降沿进行,数据位的收发时刻因此得以确定。同步时序下时钟快慢或中途暂停都没问题。SCK相当于IIC通信下的SCL&#xff0…

Spark面试整理-如何在Spark中进行数据清洗和转换?

在Apache Spark中进行数据清洗和转换是数据处理流程中的一个重要步骤。这个过程涉及从原始数据中删除或修正不准确、不完整、不相关或不正确格式的数据,以及将数据转换成更适合分析的形式。以下是在Spark中进行数据清洗和转换的一些常见方法: 1. 读取数据 首先,需要从支持的…

Android 性能优化(七):APK安装包体积优化

包体积优化重要性 移动 App 特别关注投放转化率指标,而 App 包体积是影响用户新增的重要因素,而 App 的包体积又是影响投放转化率的重要因素。 Google 2016 年公布的研究报告显示,包体积每上升 6MB 就会带来下载转化率降低 1%, …

SpringBoot Jar包在CentOS7.x上注册成服务并开机启动

本文将介绍如何把SpringBoot Jar包在CentOS7.x上注册成服务并设置为开机启动。 在CentOS系统中,将Spring Boot应用程序打包成jar文件后,可以通过创建Systemd服务来将其部署为系统服务,并设置为开机启动。 以下是详细的步骤和说明&#xff1a…

直方图与核密度估计

技术背景 直方图是一种经常被用于统计的图形表达形式,简单来说它的功能就是用一系列的样本数据,去分析样本的分布规律。而直方图跟核密度估计(Kernel Density Estimation,KDE)方法的主要差别在于,直方图得到的是一个离散化的统计分…

【全开源】多功能完美运营版商城 虚拟商品全功能商城 全能商城小程序 智慧商城系统 全品类百货商城

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 完美运营版商城/拼团/团购/秒杀/积分/砍价/实物商品/虚拟商品等全功能商城 干干净净 没有一丝多余收据 还没过手其他站 还没乱七八走的广告和后门 后台可以自由拖曳修改前端UI页面 …

实名制重要性、PHP身份实名认证示例、身份证ocr识别核验

身份证丢失失,可能会被不法分子利用去贷款。虽然是被人冒名办理,客观上不承担责任,但会造成个人信用信息的困扰。因此,对于个人来讲,要妥善保管自己的身份证,避免不必要的麻烦。对于贷款机构来说&#xff0…

Aigtek功率放大器的使用方法有哪些

功率放大器是一种将小信号放大为大信号的电子设备,广泛应用于无线通信、音频系统、雷达等领域。在使用功率放大器时,需要注意以下几个方面: 电源供应:功率放大器需要提供稳定的电源供应以保证正常工作。通常情况下,功率…

正式发布的Spring AI,能让Java喝上AI赛道的汤吗

作者:鱼仔 博客首页: https://codeease.top 公众号:Java鱼仔 前言 最近几年AI发展实在太快了,仿佛只要半年没关注,一个新的大模型所产生的效果就能超越你的想象。Java在AI这条路上一直没什么好的发展,不过Spring最近出来了一个新的模块叫做S…

[Linux][进程间通信][一][匿名管道][命名管道]详细解读

目录 0.进程间通信?1.进程间通信目的2.进程间通信分类3.进程间通信的本质理解 1.什么是管道?2.匿名管道1.认识函数2.如何让不同的进程,看到同一份资源?3.用fork来共享管道原理4.站在文件描述符角度 -- 深刻理解管道5.站在内核角度…

目标检测——食品饮料数据集

一、重要性及意义 对食品和饮料进行目标检测的重要性和意义体现在多个方面: 商业应用与市场分析:目标检测技术在食品和饮料行业有着广泛的应用前景。通过对超市货架、餐馆菜单或广告海报中的食品和饮料进行自动识别和计数,商家可以获取关于产…

【微服务】spring状态机模式使用详解

一、前言 在很多系统中,通常会涉及到某个业务需要进行各种状态的切换操作,例如在审批流程场景下,某个审批的向下流转需要依赖于上一个状态的结束,再比如电商购物场景中,一个订单的生命周期往往伴随着不同的状态,比如待支付,支付完成,已发货等等,状态的存在,让一个业…

登录解析(后端)

调试登录接口 进入实现类可以有 验证码校验 登录前置校验 用户验证 验证码校验 通过uuid获取redis 中存储的验证码信息,获取后对用户填写的验证码数据进行校验比对 用户验证 1.进入控制器的 /login 方法 2.进入security账号鉴权功能,经过jar内的流…

HTML:Form表单控件主要标签及属性。name属性,value属性,id属性详解。表单内容的传递流程,get和post数据传递样式。表单数据传递实例

form表单 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </head> &…

c语言中什么是冒泡排序,冒泡排序的计算

在c语言中&#xff0c;冒泡排序的解释是&#xff0c;将被排序的记录数组arr[1..n]垂直排列&#xff0c;每个记录arr看作是重量为一个arr气泡。根据轻气泡不能在重气泡之下的原则&#xff0c;从下往上扫描数组arr&#xff0c;凡扫描到违反该原则的轻气泡&#xff0c;就使其向上飘…