news 2026/7/15 6:17:16

开窗函数知识点(分组排名函数)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
开窗函数知识点(分组排名函数)

仅mysql8.0+有

  1. 常见排序(row_number(生成连续不重复的序号);rank(并列排名,会跳号);dense_rank(并列排名,不跳号);precent_rank(计算百分比排名))

非开窗函数求解过程

select

r.*,(select count(0)from (select dept_id, sale_je

from ib_sale

group by dept_id,sale_je) k

where k.dept_id=r.kept_id

and r.sale_je<=k.sale_je) pm

from ib_sale r

order by dept_id,sale_je desc;

2.lag(列)over(order by id )as prev_num 取上一行数据

lead 取下一行数据

非开窗函数:做法自连接。

partition by =group by

例子:

WITH temp AS (
SELECT
d.name Department,
e.name Employee,
e.salary Salary,
-- 核心窗口函数
RANK() OVER(
PARTITION BY e.departmentId -- 按部门分组
ORDER BY e.salary DESC -- 组内工资降序排
) rk -- 生成排名,别名rk
FROM Employee e
JOIN Department d ON e.departmentId = d.id
)
-- 只取排名1 = 部门工资最高
SELECT Department, Employee, Salary
FROM temp
WHERE rk = 1;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/15 6:16:11

【STM32毕业设计】【智能风扇进阶】多传感器融合与远程控制实战

1. 从基础温控到智能进阶&#xff1a;为什么需要多传感器融合&#xff1f;传统的温控风扇项目往往只依赖单一温度传感器&#xff0c;比如常见的DS18B20。这种方案虽然简单易实现&#xff0c;但存在明显的局限性——它无法感知环境是否有人&#xff0c;也无法判断人体实际体感温…

作者头像 李华
网站建设 2026/7/15 6:14:17

C++复数模长计算:从数学原理到工业级代码实现

1. 项目概述与核心价值最近在整理一些数学计算相关的代码库&#xff0c;发现很多刚接触C的朋友&#xff0c;在处理复数这类基础数学对象时&#xff0c;常常会卡在“模长”这个看似简单的计算上。要么是概念不清&#xff0c;把模长和绝对值搞混&#xff1b;要么是写出来的代码效…

作者头像 李华
网站建设 2026/7/15 6:14:14

C语言调用QT C++ DLL:跨语言混合编程的接口设计与工程实践

1. 项目概述&#xff1a;为什么C需要调用QT C/C的DLL&#xff1f;在桌面应用开发&#xff0c;尤其是涉及复杂界面与底层逻辑混合的场景里&#xff0c;我们常常会遇到一个经典的技术组合&#xff1a;用C语言编写核心算法或硬件驱动&#xff0c;用QT C构建现代化的图形用户界面。…

作者头像 李华
网站建设 2026/7/15 6:13:50

IEC 61851-1 协议:从PWM先导信号到充电状态机的实战解析

1. IEC 61851-1协议的核心作用IEC 61851-1是电动汽车传导充电系统的国际通用标准&#xff0c;它定义了充电桩与电动汽车之间的通信规则和安全要求。这个标准就像充电领域的"交通规则"&#xff0c;确保不同品牌的车辆和充电设备能够安全、高效地"对话"。在实…

作者头像 李华
网站建设 2026/7/15 6:12:42

Python基础到实战:环境搭建、语法核心与项目开发完整指南

为什么很多初学者学完Python基础后&#xff0c;依然写不出能解决实际问题的代码&#xff1f;不是语法没记住&#xff0c;而是缺乏从知识点到项目实战的桥梁。市面上大多数教程停留在概念讲解&#xff0c;却很少告诉你这些基础语法如何组合成真正的程序。《Python基础教程&#…

作者头像 李华
网站建设 2026/7/15 6:11:08

实践 Material 3:在 Compose 中构建现代化 Android 界面

1. Material 3与Jetpack Compose的完美结合Material 3是Google推出的最新设计语言&#xff0c;它不仅仅是一套视觉规范&#xff0c;更是一种全新的设计理念。与Jetpack Compose这个现代声明式UI工具包结合使用时&#xff0c;能够为Android应用带来前所未有的灵活性和表现力。在…

作者头像 李华