当前位置: 首页 > article >正文

58同城大数据面试题及参考答案

ROW_NUMBER、RANK、DENSE_RANK 函数的区别是什么?

这三个函数均为窗口函数,用于为结果集分区中的行生成序号,但核心逻辑存在显著差异,具体表现如下:

数据分布与排序规则
假设存在分区内分数数据为 [90, 85, 85, 80],按分数降序排序:

  • ROW_NUMBER:为分区内每行分配唯一序号,即使值相同也不重复。上述数据的序号为 1, 2, 3, 4
  • RANK:相同值分配相同序号,后续序号跳过重复值的数量。上述数据的序号为 1, 2, 2, 4(两个 85 分同为第 2 名,下一名直接为第 4 名)。
  • DENSE_RANK:相同值分配相同序号,后续序号连续递增。上述数据的序号为 1, 2, 2, 3(两个 85 分同为第 2 名,下一名为第 3 名)。

适用场景

  • ROW_NUMBER:常用于强制去重或分页场景,例如从每个班级中
http://www.lryc.cn/news/2387608.html

相关文章:

  • 25.5.27学习总结
  • 关于vue结合elementUI输入框回车刷新问题
  • vue项目表格甘特图开发
  • Spark 中,创建 DataFrame 的方式(Scala语言)
  • Python----目标检测(MS COCO数据集)
  • 塔能科技:有哪些国内工业节能标杆案例?
  • 图论:floyed算法
  • 嵌入式系统C语言编程常用设计模式---参数表驱动设计
  • OpenCV CUDA模块图像过滤------创建一个行方向的一维积分(Sum)滤波器函数createRowSumFilter()
  • Frequent values/gcd区间
  • 08SpringBoot高级--自动化配置
  • Deep Evidential Regression
  • 「Python教案」循环语句的使用
  • linux快速入门-VMware安装linux,配置静态ip,使用服务器连接工具连接,快照和克隆以及修改相关配置信息
  • 用户配置文件(Profile)
  • ubuntu 制作 ssl 证书
  • Vue组件技术全解析大纲
  • 轻量化开源方案——浅析PdfPatcher实际应用
  • Ansible常用Ad-Hoc 命令
  • [论文阅读]Pandora: Jailbreak GPTs by Retrieval Augmented Generation Poisoning
  • 鸿蒙OSUniApp 制作个性化的评分星级组件#三方框架 #Uniapp
  • 云效流水线Flow使用记录
  • OpenCV CUDA模块图像处理------颜色空间处理之颜色空间转换函数cvtColor()
  • 科技初创企业创新推动商业未来
  • 人工智能文科能学吗?
  • Ntfs!NtfsReadBootSector函数分析之nt!CcGetVacbMiss中得到一个nt!_VACB结构
  • 猿大师办公助手WebOffice用二进制数据流在Web前端打开Office文档
  • etcd:高可用,分布式的key-value存储系统
  • AI in Game,大模型能力与实时音视频技术融合,交出AI应用新答卷
  • 欢乐熊大话蓝牙知识11:如何打造一个低功耗蓝牙温湿度传感器?