SQL开窗函数

news/2024/10/22 18:34:13/

文章目录

  • 开窗函数(分析函数)
    • 分析函数名
    • 分析子句
    • 聚合类:
    • 排序类:
    • 偏移类

开窗函数(分析函数)

写法

分析函数名() OVER(分析子句)

分析函数名

聚合类:
SUM AVG MIN MAX COUNT
排序类:
row_number()
RANK()
dense_rank()

分析子句

PARTITION BY 分组内容
ORDER BY 排序内容
ROWS 窗口(用的不多)

聚合类:

SUM AVG MIN MAX COUNT --聚合开窗
例题:查询员工的姓名岗位薪资以及该员工对应的部门平均薪资

SELECT ename,job,sal,AVG(sal) OVER(PARTITION BY deptno) a FROM emp;

练习:
查询员工工资比该员工所在岗位平均薪资高的员工信息

SELECT *FROM (SELECT EMP.*, AVG(SAL) OVER(PARTITION BY JOB) A FROM EMP)WHERE SAL > A;

注意:
1.聚合开窗的时候,分析函数名必须有内容,即AVG() 括号里必须要有东西
2.分析子句没有要求

排序类:

row_number()

RANK()

dense_rank() --排序开窗
区别

SELECT ENAME,SAL,DEPTNO,ROW_NUMBER() OVER(PARTITION BY DEPTNO ORDER BY SAL),--不考虑并列  1234567RANK() OVER(PARTITION BY DEPTNO ORDER BY SAL), --考虑并列 跳过并列1224567DENSE_RANK() OVER(PARTITION BY DEPTNO ORDER BY SAL) --考虑并列,不跳过并列 1223456FROM emp;

练习:查询每个部门工资的前两名

SELECT *FROM (SELECT ENAME,RANK() OVER(PARTITION BY DEPTNO ORDER BY SAL) A,DEPTNOFROM EMP)WHERE A <= 2

注意:
1.分析函数名内是不需要有东西的
2.分析子句里必须有 order BY

偏移类

LAG() LEAD() --偏移开窗

尚未学习


http://www.ppmy.cn/news/1425940.html

相关文章

【RV1106的ISP使用记录之基础知识】硬件连接关系与设备树的构建

RV1106具备2个mipi csi2 dphy硬件&#xff0c;1个VICAP硬件和1个ISP硬件。其中&#xff1a; 1、mipi csi2 dphy 用于对数据流的解析&#xff0c;支持MIPC,LVDS,DVP三种接口&#xff1b; 2、VICAP用于数据流的捕获&#xff1b; 3、ISP用于对图像数据进行处理&#xff1b; 这三个…

政安晨:【深度学习神经网络基础】(九)—— 在深度学习神经网络反向传播训练中理解梯度

目录 简述 理解梯度 什么是梯度 计算梯度 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 政安晨的机器学习笔记 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 简述 在深度…

2024年4月18号技术面试总结

1.什么是微服务雪崩?微服务雪崩的解决方案? 微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩。服务A依赖于服务B,服务A依赖于服务D。现在假设,服务D出现了故障! 它访问这个服务D就必然要等待服务D的结果,那因为服务D出现了故障,那必然不…

Stable Diffusion超详细教程!从0-1入门到进阶

一、本地部署 Stable Diffusion 前言 目前市面上比较权威&#xff0c;并能用于工作中的AI绘画软件其实就两款。一个叫Midjourney&#xff08;简称MJ&#xff09;&#xff0c;另一个叫Stable-Diffusion&#xff08;简称SD&#xff09;。MJ需要付费使用&#xff0c;而SD开源免费…

移植speexdsp到OpenHarmony标准系统③

speexdsp移植后已提交至openhamrony sig仓库&#xff1a;https://gitee.com/openharmony-sig/contest/tree/master/2022_OpenHarmony_thirdparty/speexdsp 四、将三方库加入到OpenHarmony的编译体系 根据上一步分析结果&#xff0c;编写gn文件&#xff0c;将三方库加入到OpenH…

达梦数据库的DMRMAN工具介绍

达梦数据库的DMRMAN工具介绍 DMRMAN&#xff08;DM RECOVERY MANAGER&#xff09;是 DM 的脱机备份还原管理工具&#xff0c;由它来统一负责库级脱机备份、脱机还原、脱机恢复等相关操作&#xff0c;该工具支持命令行指定参数方式和控制台交互方式执行&#xff0c;降低了用户的…

ofd在线转换,ofd转pfd,ofd用什么软件打开

随着信息技术的不断发展&#xff0c;电子文档在日常办公和学习中扮演着越来越重要的角色。然而&#xff0c;不同格式的电子文档之间往往存在兼容性问题&#xff0c;这给用户在查阅、编辑和共享文件时带来了诸多不便。 一、什么是ofd文件格式&#xff1f; OFD&#xff0c;全称为…

RUST腐蚀服务器添加 TAGS标签教程

RUST腐蚀服务器添加 TAGS标签教程 大家好我是艾西&#xff0c;一个做服务器租用的网络架构师。我们自己搭建架设的服务器在steam展示面板看到跟别人的不一样是咋回事&#xff1f; 这个其实就是服务器的一个标签&#xff0c;那么主要的作用就是让大家在选择服务器时更快更直接的…