SQL 难点对比分析:聚合函数和聚合窗口函数

【MySQL窗口函数】— 4种窗口函数详解(非聚合窗口函数、聚合窗口函数、命名窗口函数、动态窗口函数) 非聚合函数有以下函数(注:我只列举了常用的。看不明白没关系,我下面会一一对这些进行讲解。 阅读详情

聚合函数 = 聚合窗口函数 + DISTINCT
使用窗口函数忘了DISTINCT 就很容易出错

一定注意:窗口函数只有分区,没有分组功能(分组=分区+去重)

例子:

-- 27、查询出只有两门课程的全部学生的学号和姓名
SELECT DISTINCT st.s_id, st.s_name   # 注意去重复(窗口函数不去重)
FROM 
		(SELECT m.*   # 注意子查询的层级关系
		 FROM
				(
				SELECT *, 
							 COUNT(c_id) OVER(PARTITION BY s_id) cnt_course
				FROM Score
				) m 
		WHERE m.cnt_course = 2
		) n
JOIN Student st
ON st.s_id = n.s_id
## 另解:直接使用聚合函数即可
SELECT st.s_id, st.s_name
FROM 
		(
		SELECT s_id, COUNT(c_id) cnt 
		FROM Score
		GROUP BY s_id
		HAVING cnt = 2
		) m 
JOIN Student st 
ON m.s_id = st.s_id 

在这里插入图片描述

【Hive】group by 分组聚合后使用窗口函数 1. group by 分组聚合后使用排序窗口函数 1.1 两种思路 与 简单例子 1.2 新思路的解释 2. group by 分组聚合后使用聚合窗口函数 3. group by 分组聚合后使用分析窗口函数 阅读详情

相关推荐

Spark SQL中的聚合与窗口函数

Spark SQL中的聚合与窗口函数是强大的工具,用于分析和处理结构化数据。本文深入探讨了聚合函数、分组操作、窗口函数以及实际用例,并提供了性能优化的建议。希望本文能够帮助大家更好地理解和应用Spark SQL中的聚合与窗口函数,以解决复杂的数据分析问题。

日常分享数据分析开发、编程语言内容 1531

Hive中笔记 :三种去重方法,distinct,group by与ROW_Number()窗口函数

一、distinct,group by与ROW_Number()窗口函数使用方法 1. Distinct用法:对select 后面所有字段去重,并不能只对一列去重。 (1)当distinct应用到多个字段的时候,distinct必须放在开头,其应用的范围是其后面的所有字段,而不只是紧挨着它的一个字段,而且distinct只能放到所有字段的前面 (2)distinct对NULL是不进...

weixin_30938149的博客 5995

100多台物理GPU服务器,每台服务器上有8张GPU卡,组网

计算网用 IB/RoCEv2 保证低延迟高带宽,支撑 800+GPU 的分布式训练;管理网和存储网独立部署,避免干扰核心通信;全链路冗余和规范布线,确保集群稳定运行;搭配 Slurm/K8s 和监控工具,实现高效管理。该方案可支撑千亿参数大模型训练,且具备极强的扩展性,未来可平滑扩容至 200 + 台服务器。

weixin_42795092的博客 2020

Hive三种去重方法,distinct,group by与ROW_Number()窗口函数

订阅专栏 一、distinct,group by与ROW_Number()窗口函数使用方法 1. Distinct用法:对select 后面所有字段去重,并不能只对一列去重。 (1)当distinct应用到多个字段的时候,distinct必须放在开头,其应用的范围是其后面的所有字段,而不只是紧挨着它的一个字段,而且distinct只能放到所有字段的前面 (2)distinct对NULL是不进行过滤的,即返回的结果中是包含NULL值的 (3)聚合函数中的DISTINCT,如 COUNT( ) 会过滤掉为.

u011250186的博客 6112

ROS基础(一)——命令行代码(以小乌龟程序为例)

ROS学习(一)——命令行代码(以小乌龟程序为例)1 基础命令行语句1.1 roscore1.2 rqt_graph(显示系统计算图)1.3 rosnode(显示所有节点相关信息)1.4 rostopic(和话题相关)2 服务类型指令rosservice同时存在两只海龟3 指令记录 1 基础命令行语句 从大二四旋翼无人机编队后就没再接触过ROS了,最近由于科研任务需要重新捡起来,打算系统学一下!学习过程参考古月居老师的视频,有兴趣的同学可以去[BliBli]学习。 学习平台:Ubuntu 18.04 硬件

北理自动化小白 6266

四旋翼无人机控制算法实战:从PID到MPC的路径跟踪

本文深入探讨了四旋翼无人机控制算法的演进路径,从基础的PID控制到高级的MPC算法,详细解析了各类算法的原理、实现技巧及适用场景。通过实战案例对比分析,为开发者提供从算法选型到参数调优的全方位指导,助力提升无人机飞行控制的精度与稳定性。

weixin_29090917的博客 241

sql之聚合函数

最近忙里头像,温习了一下聚合函数 聚合函数在计算时会自动忽略空值,不用手动写sql将空值排除。 聚合函数不能直接写在where语句的后面。 sum()求和函数 取得薪水的合计: select sum(sal) from emp; 取得总共薪水(工资+补助)合计: select sum(sal+ifnull(comm,0)) from emp; avg()取平均值函数 取得平...

Baron 738

Megatron-LM深度解析:万亿参数大模型的3D并行训练之道

训练框架,采用创新的"层内模型并行"设计,通过将Transformer层的计算拆分到多个GPU上并行执行,显著提升训练效率。该系统支持3D并行策略(数据并行、张量并行、流水线并行)和序列并行等新技术,成功应用于训练5300亿参数的MT-NLG模型。相比DeepSpeed、TPU GSPMD等框架,Megatron-LM在NVIDIA GPU上展现出卓越性能,并与TensorRT等工具深度集成,形成从训练到部署的完整解决方案。该项目持续演进,已成为大模型训练的重要基准。

数据与算法架构提升之路专栏 2090

聚合函数、窗口函数、条件语句

聚合函数出现在select之后,对记录按照分组字段进行汇总sum/avg/stddev/variance/max/min(字段)——计算分组后组内的所有记录的 总和/平均值/标准差/方差/最大值/最小值count(字段)——计算分组后组内记录的数量percentile(字段,p)——计算分组后组内记录的p分位数,p的取值为0-1对表中所有记录计算聚合函数时,可以不使用group by 语句,但写在Select后面时不能出现非聚合字段。

weixin_45638528的博客 557

SAP CO模块实战:成本中心会计分割结构配置全流程(OKES事务码详解)

本文详细解析了SAP CO模块中成本中心会计分割结构的配置全流程,重点讲解了OKES事务码的实战操作。内容涵盖分割结构的概念理解、配置前的次级成本要素与作业类型主数据准备,并通过步骤拆解演示了如何定义分割结构、规则与版本,以及如何将配置关联到成本中心并执行分割。最后提供了常见问题排查与优化建议,旨在帮助顾问及财务人员掌握成本精确分摊的关键配置,确保期末成本核算的准确性。

embedding5hiker的博客 805

「企业级智能体」LangChain4j Multi-Agent:角色分离 + 协同编排实战

在大部分 Java 项目里,“接入大模型Controller 收到一个 question调用大模型接口拿到 answer把结果原样丢回前端这种玩法可以叫「高配搜索框模式一个 Agent 要写 Prompt、要查数据库、还要改写文案,太忙了不同角色(创作者、编辑、审稿人)的职责混在一起,难以维护想复用其中一段能力(比如只要润色)也不方便把大任务拆成多个 “角色清晰的 Agent”,再编排它们像流水线一样协同完成任务。CreativeWriter:负责创作故事。

OFFTime_we的博客 1547

练习18-20. 窗口函数、distinct聚合、子查询

练习18-20. 窗口函数、distinct聚合、子查询

YouMing_Li的博客 517

【自然语言处理】情感分析(一):基于 NLTK 的 Naive Bayes 实现

朴素贝叶斯(Naive Bayes)分类器可以用来确定输入文本属于某一组类别的概率。例如,预测评论是正面的还是负面的。它是 “朴素的”,它假设文本中的单词是独立的(但在现实的自然人类语言中,单词的顺序传达了上下文信息)。尽管有这些假设,但朴素贝叶斯在使用少量训练集预测类别时具有很高的准确性。

Data · Model · Agent · Repeat 2173

SQL窗口函数

SQL窗口函数为在线分析处理(OLAP)和商业智能(BI)提供了复杂分析和报表统计的功能,例如产品的累计销售额统计、分类排名、同比/环比分析等。这些功能通常很难通过聚合函数和分组操作来实现。 窗口函数(Window Function)可以像聚合函数一样对一组数据进行分析并返回结果,二者的不同之处在于,窗口函数不是将一组数据汇总成单个结果,而是为每一行数据都返回一个结果。聚合函数和窗口函数的区别如下图所示。 以SUM函数为例演示这两种函数的差异,以下语句中的SUM()是一个聚合函数: S.

每天学习一点点 4万+

Python与CAD系列基础篇(二)创建点和直线并修改样式

①通过pyautocad连接AutoCAD进行处理②通过ezdxf处理dxf格式文件。创建和编辑点和直线的方法,并演示如何修改它们的样式、颜色和线型。

weixin_43894929的博客 3036

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

sql:窗口函数

窗口函数可以进行排序,生成序列号等一般的聚合函数无法实现的高级操作。 窗口函数也称为OLAP函数,意思是对数据库数据进行实时分析处理。窗口函数就是为了实现OLAP而添加的标准SQL功能。 窗口函数语法:其中[]中的内容可以省略 <窗口函数> over ([partition by <列清单>] order by &lt...

qq_41805514的博客 5万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

MySQL - SQL窗口函数

1.应用场景 窗口函数解决的问题包括:1)排名问题2)top N问题 应用工作中, 面试中. 2.学习/操作 //注意,mysql版本8已至此窗口函数这个功能, 如果低于该版本, 会出现SQL报错! 一.窗口函数有什么用? 在日常工作中,经常会遇到需要在每组内排名,比如下面的业务需求: 排名问题:每个部门按业绩来排...

"代码"的日常搬运 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SQL窗口函数-聚合窗口函数

关于窗口函数的基础,请看文章SQL窗口函数 许多常见的聚合函数也可以作为窗口函数使用,包括AVG()、SUM()、COUNT()、MAX()以及MIN()等函数。 案例分析 案例使用的示例表 下面的查询中会用到两个表,其中sales_monthly表中存储了不同产品(苹果、香蕉、橘子)每个月的销售额情况。以下是该表中的部分数据: transfer_log表中记录了一些银行账户的交易日志。以下是该表中的部分数据: 该表中的字段分别表示交易日志编号、交易时间、交易发起账户、交易接收.

每天学习一点点 1万+

SQL窗口函数总结

SQL的窗口函数是一种非常强大的工具,用于进行复杂的数据分析和计算,而不需要将数据分组到多个输出行中。你可以在单个查询中完成排序、排名、累积等多种计算。窗口函数也称为OLAP(在线分析处理)函数。

weixin_68880828的博客 3832

【SQL】窗口函数

窗口函数是 SQL 中的一个高级功能,它可以在不对表的结果集进行分组的情况下,对查询结果中的每一行执行分析操作。窗口函数的作用范围是“窗口”(一组有逻辑意义的行)。通过窗口函数,可以实现排名、累计求和、移动平均等复杂的数据分析功能。

又喝真露的学习记录 4853

窗口函数以及SQL中的各种聚合结构

在PostgreSQL中,SQL统计聚合函数包括:“VARIANCE()”(方差)、“STDDEV()”(标准差)、“VAR_POP()”(总体方差)、“COVAR_POP()”(总体协方差)、“COVAR_SAMP()”(样本协方差)、“REGR_AVGX()”(线性回归的X平均值)、“REGR_SLOPE()”(线性回归斜率)、“REGR_INTERCEPT()”(线性回归截距)和“REGR_R2()”(线性回归的决定系数R平方)。相同值的行会有相同的排名,但是下一个排名会跳过中间的数字。

dcjszhr的博客 2124

窗口函数-详细讲解分析

窗口函数是一种SQL函数,非常适合于数据分析,其最大的特点就是:输入值是从SELECT语句的结果集中的一行或者多行的"窗口"中获取的,也可以理解为窗口有大有小(行数有多有少)。通过OVER子句,窗口函数与其他的SQL函数有所区别,如果函数具有OVER子句,则它是窗口函数。如果它缺少了OVER子句,则他就是个普通的聚合函数。窗口函数可以简单地解释为类似于聚合函数的计算函数,但是通过GROUP BY子句组合的常规聚合会隐去正在聚合的各个行,最终输出称为一行。

qq_62757927的博客 9214

sql之窗口函数(一)

sql 窗口函数 over() 排序函数

weixin_49588247的博客 6858

简单易懂的SQL的窗口函数-案例清晰

SQL的窗口函数-简单易上手窗口函数的概念及作用举个例子:查看每一个班级的总分数。窗口函数语法(很简单哦)常用的窗口函数(也很简单哦)1.排序函数2.偏移函数3.聚合函数4.分布函数 窗口函数的概念及作用 窗口函数是分析函数,聚合函数是统计函数。 普通常用的聚合函数只能返回一个值,而窗口函数每一行都能返回一个值。 举个例子:查看每一个班级的总分数。 首先表结构大概为这个样子: 普通的聚合函数实现为: 而窗口函数的实现为: 通过这两种情况的比较,可以看出来: 1. 普通的聚合函数侧重于统计出结果,假如你

qq_43382735的博客 3754

SQL 窗口函数速查表

SQL 窗口函数(分析函数)的速查表,包括窗口函数的语法、窗口函数列表(RANK、DENSE_RANK、ROW_NUMBER、LEAD、LAG、FIRST_VALUE、LAST_VALUE等)以及相关示例,内容适用于 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite 等关系型数据库。

Tony.Dong的专栏 4936
上一篇: SQL 解题思维
下一篇: SQL 难点对比分析:GROUP BY 和 CASE
Robin_Pi
博客等级 码龄9年 2万+粉丝 632原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值