一、SQL中有三种排序函数

1、row_number() over(order by 列名)
2、rank() over(order by 列名)
3、dense_rank() over(order by 列名)

row_number():不考虑数据的重复性,按照顺序一次打上标号
如:1 2 3 4
rank():是跳跃排序
如:1 2 2 4,会跳过3
dense_rank():是连续排序,考虑数据的重复性
如:1 2 2 3 序号连续

二、示例

首先展示班级表

示例1:row_number():对班级表中的同一个班级的学生,根据创建时间SubmitDate排序

SELECT ROW_NUMBER() OVER(partition by className order by SubmitDate) number,
className,Name,age,interest,SubmitDate
FROM Class order by className desc

示例2:rank():对班级表中所有的班级根据创建时间从小到大排序

SELECT rank() OVER(order by SubmitDate) number,
className,Name,age,interest,SubmitDate
FROM Class order by className desc

示例3:dense_rank():对班级表中的同一个班级的学生,根据创建时间SubmitDate排序,若同一个班级的学生创建时间一样,则序号一样
备注:在Class表格中新增了一条Name为【钉钉1】的数据

SELECT dense_rank() OVER(partition by className order by SubmitDate) number,
className,Name,age,interest,SubmitDate
FROM Class order by className desc

SQL中的排序函数【row_number() 、rank() 、dense_rank() 】相关推荐

  1. SQL排序之 row_number, rank(), dense_rank()区别

    三者的区别如下: rank()排序相同时会重复,总数不变,即会出现1.1.3这样的排序结果: dense_rank()排序相同时会重复,总数会减少,即会出现1.1.2这样的排序结果: row_numb ...

  2. SQL新函数, 排名函数 - ROW_NUMBER(), RANK(), DENSE_RANK()

    ROW_NUMBER() 根据over后的order by字据的字段排序,返回一个不断递增的整数. use  Northwind go select  CompanyName, ContactName ...

  3. SQL中常用的窗口函数(排序函数)-row_number/rank/dense_rank/ntile

    总结四个函数的特点: row_number():连续不重复:1234567 rank() :重复不连续:1222567 dense_rank():重复且连续:1222345 ntile():平均分组: ...

  4. sql 精读(二) 标准 SQL 中的编号函数

    标准 SQL 中的编号函数 以下部分介绍了 BigQuery 支持的编号函数.编号函数是分析函数的一部分. 如需了解分析函数的工作原理,请参阅分析函数概念.如需了解编号函数的工作原理,请参阅编号函数概 ...

  5. oracle分类函数总结,oracle中分组排序函数用法

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  6. oracle 条件排序函数,oracle中分组排序函数

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  7. Hive分析窗口函数 NTILE,ROW_NUMBER,RANK,DENSE_RANK

    本文中介绍前几个序列函数,NTILE,ROW_NUMBER,RANK,DENSE_RANK,下面会一一解释各自的用途. Hive版本为 apache-hive-0.13.1 数据准备: cookie1 ...

  8. 在SQL中使用CRL函数示例

    在SQL中使用CRL函数 实验目标: 1. 在SQL中创建CRL函数,使之能够向指定的计算机发送消息 实验步骤 2. 在VS中创建类发送消息的类 3. 将以下代码黏贴进去 using System; ...

  9. sql中截取字符串函数_SQL Server 2017中的顶级SQL字符串函数

    sql中截取字符串函数 SQL Server 2017 has been in the talk for its many features that simplify a developer's l ...

最新文章

  1. 数据库安全性之使用命令来实现用户管理以及角色.十五
  2. Spring 的 BeanUtils 踩坑记,你是不是遇到过这些问题?
  3. Android华容道之一步一步实现-6-还原状态检测
  4. asp.net javascrip获取session的值_一篇文章搞定 Django Cookie 与 Session
  5. IOS开发基础之绘图的样式
  6. GridView空记录时显示Header和Footer
  7. 奇小葩讲设备树(4/5)-- Linux设备树详解(四)kernel的解析
  8. linux 安装rmp服务,Linux LAMP服务的rpm包安装与配置
  9. Visual Studio2012打开时弹出“遇到异常:这可能是由某个扩展导致的”错误的解决办法...
  10. UG/Open API基础知识-语法1
  11. 300多分学计算机去哪个学校,300分能上什么大学 2021年300分左右的学校
  12. Java Graphics2D 在图片上画(微信昵称)含有特殊符号(Emoji)的文字
  13. 百度迁徙数据爬取 生成excel数据
  14. siamfc++自己学习笔记
  15. Linux iptables常用命令
  16. linux命令整理(三)
  17. 小猫爪:嵌入式小知识01-存储器
  18. cote dlvoire_科特迪瓦-COTE D‘ IVOIRE-阿比让-ABIDJAN-港口介绍,港口介绍-环球运费网...
  19. [微信聊天]--一个人有多成熟,就看他如何聊微信
  20. VDA19颗粒清洁度测试方法及要素

热门文章

  1. 2021,noip考点总结,加油
  2. 在 ABAP 开发工具运行时错误显示界面里植入思否猫
  3. 6 列车调度 (25分)
  4. 华为鸿蒙系统用久了会卡吗,华为鸿蒙系统用久了会卡吗
  5. 迎战春招:分享6家大厂的面试经验
  6. Kaggle | Titanic - Machine Learning from Disaster【泰坦尼克号生存预测】 | baseline及优秀notebook总结
  7. 系统托盘图标显示菜单(TrackPopupMenu)无法自动消失解决方法
  8. JVM即时编译(JIT)
  9. 虎牙豆商赚钱技巧_如何建立赚钱会员网站的技巧 第2部分
  10. 干货 | RDS For SQL Server单库上云