SQL窗口函数实现累加求功能
1、语法:
sum(字段1) over(partition by 字段2 order by 字段3 rows between unbounded preceding and current row) as 新字段名
2、功能:
实现组内累加
3、实例:
表sheet1,内容如下:
先对表中每人每月的收入求和:
select name,mon,sum(amount) as tota_amountfrom sheet1 group by name,mon
在此表基础上进行累计求和,即求每个人这几个月的工资累计求和
select name,mon,tota_amount,sum(tota_amount) over(partition by name order by mon rows between unbounded preceding and current row) as accountfrom (select name,mon,sum(amount) as tota_amountfrom sheet1 group by name,mon) as a
4、函数说明
sum(tota_amount)的求和是针对后面over()窗口的求和,
over中partition by name order by mon 针对name这一组按照月份排序,
rows between unbounded preceding and current row 限定了行是按照在当前行不限定的往前处理,通俗就是处理当前以及之前的所有行的sum,即3月时sum(amount)求的时1、2、3月的和,2月时sum(amount)求的是1、2月的和。unbounded意思无限的 preceding在之前的,current row当前行。
原文链接
SQL窗口函数实现累加求功能相关推荐
- python 窗口函数_太好用了!Python中8种流行的SQL窗口函数了解一下!
有关如何在业务分析中利用Pandas来有效复制最常用的SQL窗口函数的教程. 任何致力于构建公司KPI或创建分析随着时间推移的业务绩效的数据分析人员都知道SQL窗口功能是一个强大的工具.使用它们的真正 ...
- Hive SQL 窗口函数
本文首发:大数据每日哔哔-Hive SQL 窗口函数 Hive 的窗口函数 在 SQL 中有一类函数叫做聚合函数,例如 sum().avg().max().min() 等等,这类函数可以将多行数据按照 ...
- SQL 窗口函数速查表
文章目录 窗口函数概述 PARTITION BY ORDER BY 窗口大小 SQL 子句逻辑执行顺序 常用窗口函数 排名窗口函数 取值窗口函数 聚合窗口函数 大家好!我是只谈技术不剪发的 Tony ...
- MySQL - SQL窗口函数
1.应用场景 窗口函数解决的问题包括: 1)排名问题 2)top N问题 应用工作中, 面试中. 2.学习/操作 前言 MySQL版本8已支持窗口函数这个功能, 如果低于该版本, 会出现SQL报错! ...
- SQL | 窗口函数 | 累计求和问题
一.每个用户截止到每月为止的最大单月访问次数和累计到该月的总访问次数 1.创建表 CREATE TABLE IF NOT EXISTS visits( userid VARCHAR(10), date ...
- 第71课:Spark SQL窗口函数解密与实战学习笔记
第71课:Spark SQL窗口函数解密与实战学习笔记 本期内容: 1 SparkSQL窗口函数解析 2 SparkSQL窗口函数实战 窗口函数是Spark内置函数中最有价值的函数,因为很多关于分组的 ...
- SQL窗口函数-MySQL-leetcode刷数据库题目必备知识
目录 背景: 窗口函数的介绍: 窗口函数的应用场景: 支持窗口函数的查询元素: 窗口函数的案例博客链接: 背景: 在leetcode刷数据库题目时,凡是中等难度及困难难度的题目必涉及到SQL窗口函数的 ...
- c#直接调用ssis包实现Sql Server的数据导入功能
调用ssis包实现Sql Server的数据导入功能网上已经有很多人讨论过,自己参考后也动手实现了一下,上一次笔者的项目中还用了一下这个功能.思前想后,决定还是贴一下增强记忆,高手请54. 1.直接调 ...
- oracle sql字符拆分字符串函数,oracle-是否有在PL / SQL中拆分字符串的功能?
oracle-是否有在PL / SQL中拆分字符串的功能? 我需要编写一个过程来规范具有由一个字符连接的多个令牌的记录. 我需要获得这些令牌来分割字符串,并将每个令牌作为新记录插入表中. Oracle ...
最新文章
- python批量下载网页文件夹_Python的urllib模块、urllib2模块批量进行网页下载文件...
- Js中去除数组中重复元素的4种方法
- RabbitMQ死信队列和备份交换器总结
- 这样的谷歌街景,你肯定没见过
- 如何正确选择气体在线过程分析系统?(下)
- 对论文中模型进行编程实现时的注意要求和总结
- 如何用PHP编写简单的api数据接口
- 有关推挽输出、开漏输出、复用开漏输出、复用推挽输出
- 非常不错的编程技术教程
- 中央批准!顶尖985大学换帅,开启书记、校长双院士!
- Zetero引用特定格式参考文献的手把手操作
- 使用豆瓣源下载指定版本的tensorflow(附conda安装tensorflow全步骤)
- Hadoop小文件解决方案-Hadoop小文件的前因后果
- 火星上的水来自哪里?宇宙撞击或许为其带来丰沛降水
- 云计算是什么意思?新手怎么学云计算开发入门课程
- 卸载计算机上32位程序,Win7如何卸载32位Office程序丨Win7卸载32位Office程序解决方法...
- 苏宁不蹭618,造了一个“宝宝节”
- JAVA中常用api学习思维导图
- e盘计算机管理无法格式化,电脑无法格式化e盘怎么办?
- x3用c语言函数表示,C语言中strtod()函数的用法详解
热门文章
- 疯了!一个rm-rf把公司整个数据库删没了...
- Vba Excel 自动分级
- 终极大招~pycharm自动补全opencv代码提示功能
- 求细胞数量:一矩形阵列由数字 0 到 9 组成,数字 1 到 9 代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。
- 嵌入式--串口、RS232、RS485通信
- 2018 Arab Collegiate Programming Contest (ACPC 2018) L.Looking for Taste(按位或)
- Hadoop 表和字段
- 如何提高思维能力(不止针对程序猿)
- iOS开发罗盘/指南针
- 获取中国 省市区 js