SQL的4种排名函数,附图表说明

sql需求技术小结—排序后取百分比 取某一字段rank全局排序后前百分之几的数据的需求 一般使用ntle函数的方法可以快速实现,但这种方法有瑕疵,原因:ntile函数 阅读详情
函数名说明
row_number行号
rank排名
dense_rank稠密的排名
ntile按百分比分组排名
SELECT
  score
  ,ROW_NUMBER() OVER(ORDER BY score desc) AS a_row_number
  ,RANK()       OVER(ORDER BY score desc) AS a_rank
  ,DENSE_RANK() OVER(ORDER BY score desc) AS a_dense_rank
  ,NTILE(3)     OVER(ORDER BY score desc) AS a_ntile3
  ,NTILE(4)     OVER(ORDER BY score desc) AS a_ntile4
FROM (
  SELECT 99 AS score UNION ALL
  SELECT 98 AS score UNION ALL
  SELECT 98 AS score UNION ALL
  SELECT 97 AS score
) a;

scorerow numberrankdense rankntile 3ntile 4
9911111
9822212
9832223
9744334

ntile逻辑如下

scorepercentagentitle 3ntitle 4
9901 [0,33)1 [0,25)
98251 [0,33)2 [25,50)
98502 [33,67)3 [50,75)
97753 [67,100)4 [75,100)
别再傻傻分不清了!MySQL里row_number()、rank()、dense_rank()到底用哪个?实战场景对比 本文深入解析MySQL中row_number()、rank()和dense_rank()三大窗口函数的区别与适用场景,通过电商销量排名和员工绩效评估等实战案例,帮助开发者精准选择分组排序函数,提升SQL查询效率。 阅读详情

相关推荐

数据分析师转行实操路径:SQL+Python+业务理解黄金三角

数据分析师并非算法工程师,其核心是将业务问题转化为可执行的数据分析任务。从概念看,数据分析本质是‘业务-动作-数据’的映射过程;原理上依赖SQL精准提取、Python高效处理、Excel快速验证的协同能力;技术价值在于24小时内交付可推动决策的看板或报告,而非模型复杂度;典型应用场景覆盖电商GMV归因、用户流失归因、渠道ROI评估等高频需求;而真正卡住转行者的,从来不是学历或框架,而是能否用SQL写出带业务注释的关联查询、用pandas清洗出能被销售总监看懂的指标表——这正是本文聚焦的可验证、可拆解、可复现

472

常见的四种排名函数的用法(sql)

常见的四种排名函数的用法(sql)

qq453660983的博客 1万+

Vega-Lite声明式可视化:用JSON定义可复现交互图表

声明式可视化是一种以‘描述意图’替代‘编写绘制步骤’的数据图表构建范式,其核心原理是通过高层语义规范(如数据映射、视觉通道、交互逻辑)交由专用引擎自动编译渲染。这种技术显著降低协作成本与出错率,具备强可复现性、跨平台一致性和工程可维护性,广泛应用于BI看板、分析报告、教学演示及ML可解释性接口等场景。Vega-Lite作为该范式的典型代表,以简洁JSON语法实现专业级交互式图表,天然支持无障碍访问、主题定制与版本化管理,是数据分析师、工程师与研究者提升可视化交付效率的关键基础设施。

weixin_30298497的博客 373

sql中的排名

排名函数 ROW_NUMBER、RANK、DENSE_RANK、NTILE 1、ROW_NUMBER 功能 一般可以用来实现分页,他会为查询出来的每一行记录生成一个序号,依次排序且不会重复,注意使用row_number函数时必须要用over子句选择对某一列进行排序才能生成序号 用法 SELECT ROW_NUMBER () OVER (ORDER BY score.score_num DESC) AS row_num ,* FROM score 2、RANK 功能 排名是跳跃的,如果两个人是第一名,那

刘松松的博客 6543

【从零开始玩量化7】easyTrader: 自动化(程序化)交易利器

前面的文章,我们介绍了数据获取工具AKShare, 量化回测工具backtrader等,这一篇,介绍程序化交易工具easyTrader。作者网名食灯鬼,目前项目在Github上的star数已经有6.7k。这可能是目前,开源能找到的,最好用的程序化交易库了。本文介绍了easyTrader的简单用法,这个包还有很多功能,后续再继续写文章探究。

量化投资助手的博客 1万+

遥感图像小白--2--图像分割

遥感图像分割基础入门

Mary的博客 4238

SQL四大排名函数

0、数据 result表: 一、ROW_NUMBER (连续排名) 特点:对于同值元组,排名序号不同。所有相同的元组各自为组。 select *, ROW_NUMBER() OVER (order by score desc) 'Rank' from result; 结果: 二、RANK (并列跳跃排名) 特点:对于同值元组,排名序号相同。但所有相同的元组各自为组,即对别的元组来说影响都是多元的。 select *, RANK() OVER (order by score desc) 'Rank'

lyqptp233的博客 5688

三相电机控制入门:端电压、相电压、线电压到底怎么测?(附实测波形对比)

本文为三相电机控制初学者提供了端电压、相电压和线电压的完整测量指南。通过厘清三者的物理定义与测量方法,详细讲解了如何搭建虚拟星形点电路,并对比分析了方波、SPWM和SVPWM三种主流控制模式下关键电压波形的核心特征与差异,帮助工程师掌握正确的示波器测量与波形解读技巧。

oauth7security的博客 658

【SQL】分数排名

窗口函数可以对查询结果集中的行进行分组、排序,并在每个分组内进行聚合、排名、计算等操作,而不会改变原始查询结果的行数或顺序。与常规的聚合函数(如SUM、AVG、COUNT等)不同,窗口函数允许在结果集中的每一行上进行计算,而不需要将数据分组。窗口函数提供了对每一行的子集(称为窗口)执行计算的能力,同时保留原始数据行的上下文信息。也就是说,如果有两行具有相同的值,它们将被赋予相同的排名,而下一行的排名将紧接着这两个相同的排名之后,不会跳过任何数字。在排名相同的分数后,排名数应该是下一个连续的整数。

Frost_Descent的博客 1725

【元宵快乐】猜灯谜吃元宵 元气满满闹元宵~(附猜灯谜小游戏)

导语 元宵节,又称上元节、灯节,是春节之后的第一个重要节日。 相传,汉文帝(前179—前157年)为庆祝周勃于正月十五勘平诸吕之乱,每逢此夜,必出宫游玩,与民 同乐,在古代,夜同宵,正月又称元月,汉文帝就将正月十五定为元宵节。 随着社会和时代的变迁,元宵节的风俗习惯在不断变化,但至今仍是中国的传统节日。2008年, 元宵节选入第二批国家级非物质文化遗产。 对我而言,除了吃元宵、看花灯……还有一件最重要的事情…就是… 猜灯谜!猜灯谜!!猜灯谜!!!猜谜事小,展现聪明才智事大哈哈哈.jpg .

顾木子吖的博客 2100

基于深度学习的大豆病害检测识别系统:YOLOv10 + UI界面 + 数据集

YOLOv10是一种高效的目标检测算法,能够在保持高精度的同时,提供较快的检测速度。YOLOv10使用了改进的卷积神经网络架构,并在多个计算机视觉任务中表现出色。在本项目中,我们将使用YOLOv10进行大豆病害的检测和分类。本系统利用YOLOv10算法,实现了大豆病害的实时检测和分类。通过结合深度学习和图像处理技术,可以帮助农业领域的专业人员更加高效地识别和诊断大豆病害,提高农作物的生产力与质量。

YOLO 700

Hive中的explode使用全解(附图片详解)

数据表: 表名:default.class_info,分别是班级,姓名,成绩 3列 单列Explode: 需求:将student这一列中数据由一行变为多行(使用split和explode,并结合lateral view函数实现) select class,student_name from default.class_info lateral view explode(split(student,',')) t as student_name 结果如下: ...

qq_654603797 1万+

基于YOLOv11的军事目标识别系统设计与实现(坦克、舰船检测)

DOTA-v2.0(包含多种军事装备的航拍图像)图片数量:11,268类别:18类,包括坦克、舰船、战斗机等分辨率:800×800~4000×4000HRSC2016(高分辨率舰船检测数据集)图片数量:1,061类别:舰船及子类特点:包含多种视角和复杂背景图片数量:5,000+类别:22种军用飞机标注:精确边界框自建数据集建议收集来源:公开军事演习视频、卫星图像、模拟游戏截图数据增强:模拟不同天气、遮挡、低光照等战场环境。

YOLO 450

SQL rank() 、dense_rank() 、 row_number() 排名区别(附图和代码)

展示结果如下: 用法分别为: select *,rank() over (order by score) as score_rank from employee ; select *,dense_rank() over (order by score) as score_rank from employee; select *,row_num() over (order by score) as score_rank from employee; 如是按照某个列分组,如a列,则如下: ..

weixin_45456209的博客 266

WinClaw安全实战 02|五层纵深防护体系全解析:从原理到实操,打造零风险AI智能体

2026年AI智能体爆发式普及,OpenClaw以27.3万GitHub星标成为现象级工具,但恶意Skill投毒、提示词注入、数据外泄等安全事故频发,国家互联网应急中心、工信部等多部门接连发布风险警示。威努特基于国家关键信息基础设施安全防护经验,打造WinClaw安全版AI智能体,其核心竞争力在于**五层纵深防护体系**。本文从安全痛点切入,通过真实事故案例揭示风险本质,全景解构五层防护的架构设计与技术原理,逐层拆解身份认证、安装审查、消息拦截、执行约束、监控审计的实现逻辑,搭配20+实操演示、对比表格

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 500

Sigrity System SI SerialLink模式进行Pcie3协议仿真分析操作指导-pcie3_client_single_pre

Sigrity System SI SerialLink模式提供了10个协议合规性检查工具模板,用户可以将根据实际应用替换模板中的SPICE文件,然后进行协议仿真分析,同时软件还提供了目标结果的模板MASK以及该协议需要检查的项目,通过协议分析视为满足设计要求,下面介绍pcie3_client_single_pre仿真分析,具体操作如下。Random(Rj):随机抖动,该抖动用高斯概率分布来描述,通常是由热噪声和其它随机噪声引起的,默认为1.24%UI RMS(平均值),即和标准值的偏差为1.24%UI。

weixin_54787054的博客 598

2023大数据面试总结

本文就是我在学习过程中记录下,所遇到的一些大数据面试的提问,仅供参考。

fx67ll的博客 948

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

使用python bokeh 进行作图,可交互(可以实时查看点对于的数据)

1.从数据度读取联通数据 2.整理数据,格式、类型等 3.按照折线图可视化 最终输出结果:可交互图表,可实时查看对应的点的数据 快速测试,模拟数据点 # coding: utf-8 import psycopg2 import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib ...

ml_1019的博客 3112

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

数据可视化评估:四维框架识别视觉欺骗与信息失真

数据可视化评估不是审美评判,而是对信息完整性与表达诚实性的系统审查。其核心在于理解图形编码如何映射数据语义,以及人类视觉感知如何影响信息解读——长度、位置等通道更准确,面积、颜色则易引发误判。技术价值体现在防范统计误导、保障决策可信度,广泛应用于BI看板审计、政府数据发布、媒体信息图核查及学术图表复现等场景。本文聚焦data visualization evaluation与visual deception两大关键维度,提供可落地的四层评估体系:从数据溯源、视觉编码规范,到认知负荷控制与使用语境匹配,帮助从

chuanjiaoye5017的博客 477

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

SQL 排名函数:ROW_NUMBER()、RANK() 和 DENSE_RANK() 的区别

理解RANK()和之间的区别对于有效地进行数据分析和报告至关重要。虽然它们都可以用于为结果集中的行分配排名,但选择合适的函数可以帮助我们更准确地反映数据中的关系。通过本文的详细讲解,您应该能够在实际开发和分析工作中灵活运用这些函数。希望这篇文章能对您理解 SQL 排名函数有所帮助!

My_wife_QBL的博客 2823

SQL排名汇总

【代码】SQL排名汇总。

qq_46698196的博客 1187

教你用SQL实现统计排名

前言: 在某些应用场景中,我们经常会遇到一些排名的问题,比如按成绩或年龄排名。排名也有多种排名方式,如直接排名、分组排名,排名有间隔或排名无间隔等等,这篇文章将总结几种MySQL中常见的排名问题。 创建测试表 create table scores_tb ( id int auto_increment primary key, xuehao int not null,...

weixin_33623304的博客 1401

MySQL(四):使用SQL实现排名

RANK()与ROW_NUMBER()和DENSE_RANK()的区别在于,ROW_NUMBER()为每一行分配唯一的排名,而DENSE_RANK()则不会跳过排名。

欧阳方超的专栏 3145

SQL 中最常用的四个排序函数,工作面试都用得到

ROW_NUMBER()是排序,当存在相同成绩的学生时,ROW_NUMBER()会依次进行排序,他们序号不相同,而Rank()则不一样。RANK()是1-1-3-4-5,而ROW_NUMBER()则还是1-2-3-4-5,这就是RANK()和ROW_NUMBER()的区别了。今天就给大家介绍四个你不怎么常用排序函数,他们就是排序中经常用到的ROW_NUMBER(),RANK(),DENSE_RANK(),NTILE()这四个好兄弟。上面是ROW_NUMBER()函数的结果,下面是RANK()函数的结果。

Python数据挖掘 2278

SQL谁才是金牌销售员?(窗口函数排名、substr)

SQL谁才是金牌销售员?(窗口函数排名、substr)

前景 834

mysql之如何将sql查询的结果以百分比展示

mysql之如何将sql查询的结果以百分比展示

weixin_60109352的博客 8230
上一篇: HIVE分区,附图说明
下一篇: HIVE去重及其应用之UV统计
小基基o_O
博客等级 码龄9年 4414粉丝 467原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值