开窗函数第一招式(排序聚合我要看顺序)

简介: 先看下我找的题目,ENG OMG 放心 我给安排了中文

先看下我找的题目,ENG OMG 放心 我给安排了中文

44.png

Partitioned Running Totals

Question:

The cats must be ordered first by breed and second by name. They are about to enter an elevator one by one. When all the cats of the same breed have entered they leave.


We would like to know what the running total weight of the cats is.


Return: name, breed, running total weight

Order by: breed, name

Desired output:

name breed running_total_weight
Charlie British Shorthair 4.8
Smudge British Shorthair 9.7
Tigger British Shorthair 13.5
Millie Maine Coon 5.4
Misty Maine Coon 11.1
Puss Maine Coon 16.2
Smokey Maine Coon 22.3
Ashes Persian 4.5
Felix Persian 9.5
Molly Persian 13.7
Alfie Siamese 5.5
Oscar Siamese 11.6

分区运行总数

问题:

猫必须先按品种,后按名字订购。他们正要一个接一个地走进电梯。当所有同品种的猫都进入后,它们就离开。

我们想知道猫的跑步总重量是多少。

期望的输出:

name breed running_total_weight
Charlie British Shorthair 4.8
Smudge British Shorthair 9.7
Tigger British Shorthair 13.5
Millie Maine Coon 5.4
Misty Maine Coon 11.1
Puss Maine Coon 16.2
Smokey Maine Coon 22.3
Ashes Persian 4.5
Felix Persian 9.5
Molly Persian 13.7
Alfie Siamese 5.5
Oscar Siamese 11.6

答案:

select 
  name,
  breed,
  sum(weight) over (partition by breed  order by name asc) as running_total_weight
from 
  cats 

答案完全正确哦,哈哈哈 !


丝路输出:


最近工作用的太多了,踩坑也多,所以一下就做出来了。


我首先看到根据猫的品牌进行区分,每组猫进去后就出去,然后每组猫需要正序排序。


所以按照品牌分区、猫名正序、SUM() + OVER() 就可以完成


这里最主要是利用了开窗函数中添加排序后的特性:具体 默认order的开窗函数frame值是


between UNBOUNDED PRECEDING and CURRENT ROW


译文:第一行 -》 当前行


所以每次排序后我SUM函数取得是本品牌中排名第一的猫 - 当前猫的重量和!


你学费了么?

image.png

练习题的地址“戳我”

我们还有开窗的下一期哦

目录
相关文章
|
安全 Linux Android开发
开源免费!文件传输工具HandShaker最佳替代品来了。
开源免费!文件传输工具HandShaker最佳替代品来了。
|
存储 运维 分布式计算
数据分析和数据开发的区别 - 初始
数据分析和数据开发的区别 初始 数据分析(DA:Data Analysis)和数据开发/数据仓库工程师(DE:Data Extraction)究竟有什么区别,工作职责和工作内容上的差异是什么?
948 0
|
3天前
|
弹性计算 运维 搜索推荐
三翼鸟携手阿里云ECS g9i:智慧家庭场景的效能革命与未来生活新范式
三翼鸟是海尔智家旗下全球首个智慧家庭场景品牌,致力于提供覆盖衣、食、住、娱的一站式全场景解决方案。截至2025年,服务近1亿家庭,连接设备超5000万台。面对高并发、低延迟与稳定性挑战,全面升级为阿里云ECS g9i实例,实现连接能力提升40%、故障率下降90%、响应速度提升至120ms以内,成本降低20%,推动智慧家庭体验全面跃迁。
|
4天前
|
数据采集 人工智能 自然语言处理
3分钟采集134篇AI文章!深度解析如何通过云无影AgentBay实现25倍并发 + LlamaIndex智能推荐
结合阿里云无影 AgentBay 云端并发采集与 LlamaIndex 智能分析,3分钟高效抓取134篇 AI Agent 文章,实现 AI 推荐、智能问答与知识沉淀,打造从数据获取到价值提炼的完整闭环。
372 91
|
5天前
|
SQL 人工智能 自然语言处理
Geo优化SOP标准化:于磊老师的“人性化Geo”体系如何助力企业获客提效46%
随着生成式AI的普及,Geo优化(Generative Engine Optimization)已成为企业获客的新战场。然而,缺乏标准化流程(Geo优化sop)导致优化效果参差不齐。本文将深入探讨Geo专家于磊老师提出的“人性化Geo”优化体系,并展示Geo优化sop标准化如何帮助企业实现获客效率提升46%的惊人效果,为企业在AI时代构建稳定的流量护城河。
385 156
Geo优化SOP标准化:于磊老师的“人性化Geo”体系如何助力企业获客提效46%
|
4天前
|
数据采集 缓存 数据可视化
Android 无侵入式数据采集:从手动埋点到字节码插桩的演进之路
本文深入探讨Android无侵入式埋点技术,通过AOP与字节码插桩(如ASM)实现数据采集自动化,彻底解耦业务代码与埋点逻辑。涵盖页面浏览、点击事件自动追踪及注解驱动的半自动化方案,提升数据质量与研发效率,助力团队迈向高效、稳定的智能化埋点体系。(238字)
267 156