SQL之窗口函数

news/2024/7/7 20:01:58

窗口函数介绍

1 窗口函数语法

<窗口函数> over (partition by <用于分组的列名>
                order by <用于排序的列名>

专用窗口函数,比如rank,dense_rank,row_number等
聚合函数,如sum,avg,count,max,min等

2 窗口函数功能

不减少原表的行数,所以经常用来在每组内排名
同时具有分组(partition by)和排序(order by)的功能
3 窗口函数使用场景

业务需求“在每组内排名”,比如:

排名问题:每个部门按业绩来排名
topN问题:找出每个部门排名前N的员工进行奖励
4 注意事项

窗口函数原则上只能写在select子句中
partition by 子句可以省略,省略就是不指定分组,但是这就失去了窗口函数的功能,所以一般不要这么使用

5 group by、order by 子句与窗口函数的区别

group by 分组汇总后改变了表的行数,一行只有一个类别,而partition by和rank函数不会减少原表中的行数


http://lihuaxi.xjx100.cn/news/98243.html

相关文章

图像运算和图像增强四

图像运算和图像增强四 1.图像直方图理论知识和绘制实现 &#xff08;1)图像直方图理论知识 灰度直方图是灰度级的函数&#xff0c;描述的是图像中每种灰度级像素的个数&#xff0c;反映图像中每种灰度出现的频率,可以通过归一化化为到&#xff08;0&#xff0c;1&#xff09;…

降C大法——第3式

“总有人间一两风&#xff0c; 填我十万八千梦” &#x1f351;作者&#xff1a;小赛毛 &#x1f495;文章初次日期&#xff1a;2022/10/21 赋值表达式 a.基本的赋值表达式 变量 表达式 赋值号&#xff1a;是把赋值号右边的内容赋给左边的变量 tips&#xff1…

js-Date对象

1、Date对象的创建&#xff1a;保存的是时间 var d new Date; console.log(d) 如果使用构造函数直接创建Date对象则会封装为当前代码的执行时间 2、创建指定的时间对象——在构造函数中传递表示时间的字符串作为参数 语法&#xff1a; 字符串月份/日/年 时:分:秒…

什么是 Web 3.0?(新手入门指南)

在这篇文章中&#xff0c;我们将解释什么是 Web 3.0&#xff0c;它的技术是如何发展的&#xff0c;哪些项目正在构建这个新的互联网&#xff0c;以及您如何参与其中。 目录 在这篇文章中&#xff0c;我们将解释什么是 Web 3.0&#xff0c;它的技术是如何发展的&#xff0c;哪些…

浅谈UIButton的类型

文章目录前言不对劲的一个出现UIButtonTypeSystem解决方法UIButtonTypeCustom其他类型的buttonUIButtonTypeRoundedRectUIButtonTypeCloseUIButtonTypeInfoDarkUIButtonTypeContactAddUIButtonTypeInfoLightUIButtonTypeDetailDisclosure总结前言 这周在写一个小Demo的时候&am…

MindSpore手写数字识别体验

文章目录1. 环境准备2. 安装minspore及其套件3. 程序撰写4. 总结今天带大家体验一下 MindSpore 这个 AI 框架来完成手写数字识别的任务1. 环境准备 使用Anaconda创建虚拟环境: conda create -n mindspore python3.8创建完成后会显示以下的图像界面 这样我们的虚拟环境mindsp…

compression记录(compress)

数据压缩记录用于从数组采集并且压缩数据。当INP字段引用一个数据数组字段&#xff0c;它立即使用若干算法之一压缩整个数组一个数组的一个元素&#xff0c;重写先前值。如果INP字段从一个标量值字段获取了它的值&#xff0c;这个compress记录将在这个记录每次运行时采集一个新…

Jupyterlab安装和配置

一、安装 运行以下命令安装jupyterlab和中文语言包。 conda install jupyterlab conda install jupyterlab-language-pack-zh-CN二、配置 1. 修改文件路径 参考链接&#xff1a;修改Jupyter Lab、Jupyter Notebook的工作目录_奶茶可可的博客-CSDN博客_jupyterlab目录 ste…