SQL 中的窗口函数

news2024/9/29 18:41:34

SQL 中的窗口函数(Window Functions)是一种特殊的函数,它可以在查询结果的某个区间内执行计算,而不仅仅是对单个行进行计算。

以下是一些常用的窗口函数:

1、ROW_NUMBER()

ROW_NUMBER() 函数可以给查询结果的每一行分配一个唯一的数字。通常,我们可以使用 ROW_NUMBER() 来按照特定的列对查询结果进行排序。

例如,以下 SQL 查询会按照 “sales” 表中 “amount” 列的降序排列,并给每行分配一个唯一的数字:

SELECT ROW_NUMBER() OVER (ORDER BY amount DESC) AS row_num, *
FROM sales;

2、RANK() 和 DENSE_RANK()

RANK() 和 DENSE_RANK() 函数可以为查询结果中的每一行分配排名。不同之处在于,如果有多个行具有相同的值,则 DENSE_RANK() 不会跳过排名

例如,以下 SQL 查询会按照 “sales” 表中 “amount” 列的升序排列,并为每个值分配一个排名:


SELECT amount, RANK() OVER (ORDER BY amount) AS rank,
       DENSE_RANK() OVER (ORDER BY amount) AS dense_rank
FROM sales;

3、SUM()、AVG()、MIN() 和 MAX()

SUM()、AVG()、MIN() 和 MAX() 函数可以用于计算查询结果的某个区间内的汇总、平均值、最小值和最大值。

例如,以下 SQL 查询会计算 “sales” 表中 “amount” 列的累计和,并为每个值分配一个唯一的数字:

SELECT amount, SUM(amount) OVER (ORDER BY date) AS running_total
FROM sales;

以上是一些常用的窗口函数,窗口函数在 SQL 中使用非常广泛,并且可以让我们在查询结果中执行更复杂的计算和分析。

案例

分数排名
在这里插入图片描述
在这里插入图片描述
sql语句:

# Write your MySQL query statement below
select score,dense_rank() 
over (order by score desc) as 'rank' 
from Scores;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/353162.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言常见关键字

写在前面 这个博客是结合C语言深度解剖这本书和我以前学的知识综合而成的,我希望可以更见详细的谈一下C语言的关键字,内容有点多,有错误还请斧正. 常见关键字 下面我们说下C语言的关键字,所谓的关键字是指具有特定功能的单词,我们可以使用关键字来帮助我们完成不同的事物.C语…

win系统电脑如何打开sketch?

2 个方法快速使用 Windows 系统打开 Sketch 文件:使用 Adobe XD 打开 Sketch 文件或者使用浏览器中就能做设计的即时设计直接打开 Sketch 文件。众所周知, Sketch 只能在 Mac 电脑上使用,因此只有借助 XD 这种能在 Windows 系统启动的软件工具…

LSTM原理解析

一、背景 前文讲了RNN的基本原理,可以发现RNN是一个比较简单的神经网络结构,虽然为文本和时间序列的建模提供了一个很好的思路,但是也有一定的局限性。最直观的就是使用了Tanh函数造成梯度消失的问题。 根据Tanh的性质,很容易出…

树莓派Bullseye版本更新

1、参考链接:树莓派11bullseye换源/Opencv安装_所罗门大帝的博客-CSDN博客 2、参考链接:https://blog.csdn.net/weixin_39589455/article/details/124514099 步骤1、使用镜像帮助:https://mirrors.tuna.tsinghua.edu.cn/help/raspbian/ 步骤…

面试题 链表相交 -剑指offer简单

面试题 链表相交 题目链接 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意&#…

DIY生日蛋糕笔记

自制6寸生日蛋糕笔记 实验环境: 长帝CRTF32PD搪瓷烤箱32升, 九阳电动打蛋器, 裱花盘一套 蛋糕盒子 称重器 硅胶刀 两个大碗1号和2号。 材料: 参考: https://www.bilibili.com/video/BV1t34y1Z7mL/?spm_id_from333…

揭开苹果供应链,如何将其命运与中国深度捆绑

前 言 诺基亚在2007年时拥有9亿用户,在手机市场上占据主导地位,福布斯在当时以“谁能赶上手机之王?”为标题刊登了一篇关于该公司的报道,与此同时,苹果公司推出了iPhone系列产品。16年后,苹果公司以充足的…

如何解锁华为手机PIN/图案/指纹/人脸锁?

您的手机存储主要数据,因此为您的设备设置安全代码让您高枕无忧。屏幕和生物识别锁可在手机丢失时保护您的手机,并使其在被盗时无法访问。每次您需要密码来解锁手机时,但如果您被锁在密码之外怎么办? 今天的话题将独家帮助华为用…

ChatGPT引发的新一轮网络安全威胁,要如何应对?

近期随着美国ChatGPT横空出世,沉寂一时的人工智能领域再次掀起波澜,引起社会的广泛关注,仅在短短数月内,ChatGPT的注册用户就超过数亿。作为一款免费的聊天机器人,它几乎可以回答任何问题。和搜索引擎不同的是&#xf…

JavaSE 文件内容的读写

读文件和写文件有俩种风格的操作(俩组不同的类) 字节流 InputStream(负责读)/ OutputStream (负责写)~~针对二进制文件进行读写,操作基本单位是字节。字符流 Reader(负责读)/ Write…

vue初识

第一次接触vue,前端的html,css,jquery,js学习也有段时间了,就照着B站的视频简单看了一些,了解了一些简单的用法,这边做一个记录。 官网 工具:使用VSCode以及Live Server插件(能够实时预览) 第…

【龙芯1B】:LCD显示图片文字背景色前景色、小创语音控制lcd显示、数码管倒计时

项目场景: 闲来无事,写了几个关于嵌入式技能大赛的任务。希望对大家有所帮助。本文开发板由百科荣创的龙芯1b开发板支持,关于嵌入式技能大赛的开发板。 LCD显示图片&文字&背景色&前景色小创语音控制lcd显示数码管倒计时LCD显示图…

创建自己的脚手架(一)

创建自己的脚手架 脚手架基本框架 使用pnpm init 创建环境 取一个自己喜欢的名字 这里叫gucli 生成 package.json文件的内容 {"name": "gucli","version": "1.0.0","description": "","main": "…

【JavaSE】Java9Java10Java11新特性(687~717)

687.复习:动态代理 688.复习:Lambda表达式 689.复习:函数式接口 690.复习:方法引用与构造器引用 691.复习:Stream API 692.复习:Optional类的使用 693.jdk版本更新说明 JDK 9 的发布 经过4次跳票&#x…

Leetcode力扣秋招刷题路-0074

从0开始的秋招刷题路,记录下所刷每道题的题解,帮助自己回顾总结 74. 搜索二维矩阵 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前…

《MySQL学习》 事务的隔离

一.快照读与当前读 众所周知,MySQL默认的隔离级别为可重复读(RR),开启一致性视图后,事务提交前后数据都是不变的。 事务 T 启动的时候会创建一个视图 read-view,之后事务 T 执行期间,即使有其他事务修改了…

数值卡,让数据可视化玩出新花样丨三叠云

数值卡 路径 仪表盘 >> 仪表盘设计 功能简介 1. 数值卡增加「数值标题」、「图标」、「进度条」功能,使得应用场景更为广泛,实现数据可视化,让用户能够轻松地获取、处理信息。 2.「数据模型」支持0个维度1个指标、1个维度1个指标。…

EMC简介(文末有易灵思核心板)

EMC测试又叫做电磁兼容(EMC),指的是对电子产品在电磁场方面干扰大小(EMI)和抗干扰能力(EMS)的综合评定,是产品质量最重要的指标之一,电磁兼容的测量由测试场地和测试仪器…

嵌入式Linux文件系统的介绍

学习Linux都是跟文件打交道,却不知道文件系统下的目录存放的内容,有点说不过去,特意准备了这篇文章供大家阅读,哪怕有一点点帮助,都是对我的鼓励。 根文件系统一般应该比较小,因为包括严格的文件和一个小的…

手机子品牌的“性能战事”:一场殊途同归的大混战

在智能手机行业进入存量市场后,竞争更加白热化。当各国产手机品牌集体冲高端,旗下子品牌们也正厮杀正酣,显现出刀光剑影。处理器、屏幕、内存、价格等各方面无不互相对标,激烈程度并不亚于高端之争。源于OPPO的中端手机品牌realme…