sql中的排序函数dense_rank(),RANK()和row_number()

2023-11-04

dense_rank(),RANK()和row_number()是SQL中的排序函数。
为方便后面的函数差异比对清晰直观,准备数据表如下:
在这里插入图片描述
1.dense_rank() 函数语法:dense_rank() over( order by 列名 【desc/asc】)
DENSE_RANK()是连续排序,比如遇到相同的数值时,排序时,是1 2 2 3 序号连续的。
按照分数从高到低排名:

select name,score ,  dense_rank() over( order by score desc) from test.test001;

在这里插入图片描述
按照分数从低到高排序:
在这里插入图片描述

2.RANK()函数语法:rank() over(order by 列名【desc/asc】)
RANK()是不连续排序,比如遇到相同的数值时,排序时,是1 2 2 4 ,会跳过3。
比如:
在这里插入图片描述
3.row_number()函数语法:row_number() over(order by 列名) 【desc/asc】)
row_number()是不考虑重复数据的,比如遇到相同的数值时,排序时,是1 2 3 4 ,依次排序。
比如:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sql中的排序函数dense_rank(),RANK()和row_number() 的相关文章

  • SQL 中最有效的搜索方式?

    我有一个包含 75 000 多行的数据库 每天添加 500 多个条目 每行都有一个标题和说明 我创建了一个 RSS 提要 它为您提供特定搜索词的最新条目 例如http site com rss rss q 披萨 http site com
  • 尝试使用 PHP / Html 从注册表单将数据输入到 SQL 表中

    我尝试了很多不同的事情并进行了很多搜索但没有解决方案 我正在尝试使用 html 表单将数据提交到 sql 表 这是我的 register php 文件的代码 con mysqli connect localhost database nam
  • 当在另一个表中找到匹配项时更新列

    我尝试使用表 A 中与 Passport no 匹配的值更新表 B 中的列 下面是我的sql查询 update tabel b set b country id a national id from table a a join tabel
  • Django 多对多查询的逻辑或返回重复结果

    我有具有多对多关系的模型 如下所示 class Contact models Model name models TextField address models TextField class Mail models Model to m
  • MySQL - 将字段的默认值设置为字符串连接函数

    我有一个看起来有点像这个的表 actor forename surname stage name 我想将 stage name 更新为默认值 forename surname So that insert into actors foren
  • 存储过程 EXEC 与 sp_executesql 的区别?

    我写了两个存储过程 其中一个是sp executesql而其他没有 sp executesql 两者都正确执行相同的结果 我不明白两者之间有什么区别 EXEC SQL 与 EXEC sp executesql SQL N eStatus v
  • SQL CASE 语句

    我有以下查询 我想将它们放入 sql CASE 语句中 这样我只有一个查询 但我不知道该怎么做 有人可以帮助我吗 IF SELECT EtlLoadId FROM ssislogs audit processcontrol WHERE Su
  • 将记录与另一个表上的最新记录连接

    我正在尝试创建一个 SQL 视图 我如何从一个表中选择最新的记录 而其他记录保持原样 我需要从所有表中选择所有记录 这工作正常 但我需要仅按日期选择最新的提案 这是我遇到的问题 这是我到目前为止所拥有的 SELECT TOP 100 PER
  • ssis将N个表从源服务器加载到目标服务器的最佳实践

    我需要将 N 个 大约 50 个 表从源数据库加载到目标数据库 每个表都与其他表不同 因此元数据不同 我想我可以使用父 pkg 来调用子 pkg 其中每个子 pkg 都有简单的结构 例如 DFT 来映射要导入的表 1 个子 pkg gt 1
  • SQL Server到Mysql迁移(使用Mysql Workbench)数据传输错误

    我正在使用 Mysql Work bench 6 3 将数据库从 MS Sql server 2008 迁移到 Mysql 在 批量数据传输 期间出错并出现以下警告 这种情况仅发生在像 varchar char 这样的列类型上 当我尝试使用
  • MySQL 多个 IN 条件对同一个表进行子查询

    我有多个带有子查询的 IN 条件 SELECT S name S email FROM something S WHERE 1 NOT IN SELECT id FROM tags WHERE somethingId S id AND 2
  • LINQ-to-SQL 是否支持组合查询?

    作为一名不懂 C 的程序员 我对 LINQ 查询的求值语义很好奇 如下所示 var people from p in Person where p age lt 18 select p var otherPeople from p in p
  • 使用聚合函数时减少 Athena 扫描的数据量

    以下查询扫描 100 MB 的数据 select from table where column1 val and partition id 20190309 然而 下面的查询扫描了 15 GB 的数据 有超过 90 个分区 select
  • 对 SQL Server 2005 结果进行分页

    如何在 SQL Server 2005 中对结果进行分页 我在 SQL Server 2000 中尝试过 但没有可靠的方法来做到这一点 我现在想知道SQL Server 2005是否有任何内置方法 分页的意思是 例如 如果我按用户名列出用户
  • SQL COUNT(*) 返回错误答案

    以下脚本应返回部门名称以及这些部门中的员工人数 营销 行政和销售部门有 0 名员工 但返回值不是 0 而是 1 我怎样才能纠正它 select Department Departments DepartmentID count as Num
  • 如何在 SQL 中编写 where 子句来按一天中的时间过滤 DATETIME 列?

    我有带有 DATETIME 列时间戳的数据 我想将其过滤到 DATETIME 介于上午 9 30 到下午 5 30 之间的任意一天的记录集 最好的方法是什么 更新 更改是因为我需要精确到分钟 而不仅仅是小时 对于那个很抱歉 您始终可以将其编
  • 获取SQL中前2个特殊字符之间的字符

    我有数据在sql 只是要注意 SQL STudio is the IDE like data a 10 b c a 1 b c 我想获取前两个符号之间的数据 Output 10 1 这就是我的方法 SELECT CAST
  • 根据 SQL 查询的集合生成成员的“散点图”结果

    我有一个staff包含工作人员的数据库表 其中user no and user name列 我还有一个 department 包含员工可以加入的部门的表 其中dept no and dept name作为列 因为员工可以是多个部门的成员 所
  • 批量更新 SQL Server C#

    我有一个 270k 行的数据库 带有主键mid和一个名为value 我有一个包含中值和值的文本文件 现在我想更新表格 以便将每个值分配给正确的中间值 我当前的方法是从 C 读取文本文件 并为我读取的每一行更新表中的一行 必须有更快的方法来做
  • 更新查询时 ios 中出现“数据库锁定”错误

    我正在使用下面的代码更新查询 using sqlite 但我越来越 database is locked error 我尝试搜索一些 SO 链接 建议关闭数据库 但我再次执行此操作时遇到相同的错误 我已经提到过代码中出现错误的地方 cons

随机推荐

  • npm安装vue

    安装vue cli 脚手架命令 npm install g vue cli 适用于vue cli 2 0 npm install g vue cli 适用于vue cli 3 0 一 初次安装 vue cli 3 0 步骤 1 全局安装vu
  • SpringBoot起飞系列-Web开发(五)

    一 前言 从今天你开始我们就开始进行我们的web开发 之前的一篇用SpringBoot起飞系列 使用idea搭建环境 二 已经说明了我们如何进行开发 当然这是搭建起步 接下来我们就开始进行详细的开发 包括springboot中各种start
  • AD(altium designer)15原理图与PCB设计教程(三)—— 原理图元器件库的管理

    目录 序言 原理图库文件编辑器 原理图库文件编辑器的启动 原理图库元器件的创建 设置工作区参数 库元器件的创建 原理图库元器件的编辑 原理图库元器件菜单命令 原理图库文件添加模型 创建含有子部件的库元器件 报表输出及库报告生成 输出报表 生
  • Android Studio 的NotePad制作(日志本),androidstudio基础

    此为点击设置之后的界面 设置颜色的代码如下 themeList ListPreference findPreference themelist themeList setSummary PrefVO themeListValue theme
  • 优化struts 2

    优化struts 2 1 关闭logging和devMode struts property struts devModel false 2 用freemarker tags 代替 struts2 tag
  • 硬件复习

    大家随便看看就好
  • Home Work--计蒜客

    临近开学了 大家都忙着收拾行李准备返校 但 I Love C 却不为此担心 因为他的心思全在暑假作业上 目前为止还未开动 暑假作业是很多张试卷 我们这些从试卷里爬出来的人都知道 卷子上的题目有选择题 填空题 简答题 证明题等 而做选择题的好
  • LeetCode-Python-54. 螺旋矩阵

    给定一个包含 m x n 个元素的矩阵 m 行 n 列 请按照顺时针螺旋顺序 返回矩阵中的所有元素 示例 1 输入 1 2 3 4 5 6 7 8 9 输出 1 2 3 6 9 8 7 4 5 示例 2 输入 1 2 3 4 5 6 7 8
  • 广州站

    12月2日 由阿里云 Serverless 团队主办的 云原生 Serverless 技术实践营 在广州顺利举行 本次活动面向所有企业技术人员 主打 沉浸式沙龙体验 6 小时搞定 Serverless 企业落地 活动当天 5 位阿里云技术讲
  • 80%白领危了!OpenAI发布GPT时代就业秘笈:34大铁饭碗保命

    导读 GPT 4发布没几天 OpenAI直接告诉所有人 GPTs是通用技术 80 的美国人的工作受到影响 想要保命 且看这34大 铁饭碗 前脚刚推出GPT 4 OpenAI后脚就发布了35页论文官宣 80 的美国人 都会受到AI的影响 研究
  • STM32“隐藏的定时器”-DWT

    01 前言 在之前的文章在 STM32延时函数的四种方法 使用定时器延时 在 如何测量代码运行时间 中提到使用定时器外设计算代码运行时间 文中提到这种方法的明显缺点就是需要占用一个定时器 一些MCU在特定应用场景下定时器外设资源是十分稀缺的
  • 信息安全大赛出的题目

    今天是信息安全大赛决赛的日期 可惜还要去市里培训 不能去现场观看 听说的做的一塌糊涂 也许是第一次举办这样的比赛 在校内还没有这样的氛围的缘故吧 中午打了电话 得知总分150左右的 最高的得了68分 我在反思 是我们把题目的难度没控制好 还
  • 华为OD机试 C++【最少步数】

    题目 你在一个一维的数轴上 起始位置为0 你每次只能走2步或3步 无论是向左还是向右 有时你可能需要走到负坐标上去 才能最终到达你的目标位置 任务 给定一个坐标点 找出到达那里的最小步数 输入 一个整数 n 表示目标坐标位置 1 lt n
  • Matter Project 入门 – Chip-tool 调试终端设备

    注意 本指南是对 Matter TE7 5 的投诉 请查看芯片工具 GitHub 页面 以获取任何最新更改 如果您没有遵循Matter 构建指南 您应该首先在您的 Raspberry Pi 4 上准备 Matter 环境 然后导航到 con
  • 二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。

    二货小易有一个W H的网格盒子 网格的行编号为 0到H 1 网格的列编号为 0到W 1 每个格子至多可以放一块蛋糕 任意两块蛋糕的欧几里得距离不能等于2 对于两个格子坐标 x1 y1 x2 y2 的欧几里得距离为 x1 x2 x1 x2 y
  • Idea: debug 跳出循环

    点击循环下面的某行代码 点击run to cusor按钮
  • RedHat Linux各版本汇总

    Linux的发行版本可以大体分为两类 一类是商业公司维护的发行版本 一类是社区组织维护的发行版本 前者以著名的Redhat RHEL 为代表 后者以Debian为代表 Redhat有两大 Linux产品系列 其一是免费的Fedora Cor
  • 关于tomcat7-maven-plugin插件的使用

    最近在学习黑马的淘淘项目 第一步是使用maven依赖进行环境搭建 其中使用到了tomcat7 maven plugin这个插件 视频中老师给的依赖大致是这样的
  • Java并发编程:Synchronized底层优化(偏向锁、轻量级锁)

    Java并发编程系列 Java 并发编程 核心理论 Java并发编程 Synchronized及其实现原理 Java并发编程 Synchronized底层优化 轻量级锁 偏向锁 Java 并发编程 线程间的协作 wait notify sl
  • sql中的排序函数dense_rank(),RANK()和row_number()

    dense rank RANK 和row number 是SQL中的排序函数 为方便后面的函数差异比对清晰直观 准备数据表如下 1 dense rank 函数语法 dense rank over order by 列名 desc asc D