mysql窗口函数rank_rank函数降序排名

mysql窗口函数rank_rank函数降序排名窗口函数MySQL8.0之后支持窗口函数。窗口指的是记录集合,窗口函数是指在某种条件的记录集合上执行的特殊函数。静态窗口是指不同的记录对应的窗口大小是固定的,而滑动窗口是指随着记录的不同窗口的大小是动态变化的。窗口函数分类1)专用窗口函数,包括后面要讲到的rank,dense_rank,row_number等专用窗口函数。2)聚合函数,如sum.avg,count,max,min等注意事项窗口函数原则上只能写在select子句中,因为窗口函数是对where或者groupby子句

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

窗口函数

MySQL8.0之后支持窗口函数。窗口指的是记录集合,窗口函数是指在某种条件的记录集合上执行的特殊函数。静态窗口是指不同的记录对应的窗口大小是固定的,而滑动窗口是指随着记录的不同窗口的大小是动态变化的。

窗口函数分类

1) 专用窗口函数,包括后面要讲到的rank, dense_rank, row_number等专用窗口函数。

2) 聚合函数,如sum. avg, count, max, min等

注意事项

窗口函数原则上只能写在select子句中,因为窗口函数是对where或者group by子句处理后的结果进行操作

窗口函数的基本语法

<窗口函数> over (partition by <用于分组的列名> order by <用于排序的列名>)

partition by:用来指定开窗的列。partition by进行分组并不会改变行数,相比之下group by分组会改变行数。
order by:用于指定数据在一个窗口内如何排序
frame:当前分区的子集,子句用来定义子集的规则,通常用来作为滑动窗口使用。

排序

RANK:跳跃排序
DENSE_RANK:连续排序
row_number:没有重复值的排序[记录相等也是不重复的]可以进行分页使用。

RANK:跳跃排序

select subject,score,rank() 
over (partition by subject order by score desc) as 'rank' 
from window_test_table;
subject score rank
数学 100 1
数学 100 1
数学 90 3
数学 90 3
数学 60 5

DENSE_RANK:连续排序

select subject,score,dense_rank() 
over (partition by subject order by score desc) as 'rank' 
from window_test_table;
subject score rank
数学 100 1
数学 100 1
数学 90 2
数学 90 2
数学 60 3

row_number:没有重复值的排序

select subject,score,row_number() 
over (partition by subject order by score desc) as 'rank' 
from window_test_table;
subject score rank
数学 100 1
数学 100 2
数学 90 3
数学 90 4
数学 60 5
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185957.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 常见图片文件格式简析下载_图片的文件格式有哪些

    常见图片文件格式简析下载_图片的文件格式有哪些“常见”:此处指BMPJPEGGIFPNG四种。软件:Windows画图(除了Photoshop,我最喜欢的编辑器,简单粗暴)HxDBMPBMP文件分为4部分:bmp文件头(bmpfileh

    2022年8月3日
    9
  • 微信聊天内容制作生成器微信小程序源码/支持多种制作生成[通俗易懂]

    ☑️编号:ym205☑️品牌:小程序☑️语言:wx☑️大小:345KB☑️类型:聊天内容制作☑️支持:小程序????欢迎免费领取(注明编号)????✨源码介绍这是一款微信聊天内容制作生成小程序源码,该小程序支持制作多种内容。支持单人聊天模式制作,支持群聊模式制作生成;每一种模式都支持我们微信需要的功能都有,视频,语音,时间,内容等等,大家可以最后看演示图!!另外还支持微信零钱,也就是我的界面制作生成DIY金额(具体大家看演示图);另外也支持微信红包制作DIY金额,发

    2022年4月9日
    175
  • Django(69)最好用的过滤器插件Django-filter

    Django(69)最好用的过滤器插件Django-filter前言如果需要满足前端各种筛选条件查询,我们使用drf自带的会比较麻烦,比如查询书名中包含“国”字,日期大于“2020-1-1”等等诸如此类的请求,Django-filter这个组件就是要解决这样的问

    2022年7月30日
    7
  • oracle11g 安装到连接数据库详细教程

    oracle11g 安装到连接数据库详细教程文章目录1.下载oracle11g2.安装3.连接数据库1.下载oracle11g官网需要注册账号比较麻烦百度网盘提取密码:gcig这里百度网盘下载特别方便2.安装下载解压如下运行setup.exe出现如下信息:一会这个就自动关闭了,等一会就会出现如下安装页面不用管,直接是,然后开始安装出然后出现如下我们不需要更新,直接把这个勾取消掉,然后下一…

    2022年7月25日
    22
  • 如何产生ioexception_生活中需要配合的例子

    如何产生ioexception_生活中需要配合的例子
    这是在学《Windows网络编程(第二版)》第六章时制作的一个例子
    由于书中没有给出简洁的例子,本人在学这里时就费了很多时间。
    现在把完成的代码贴出来,供大家参考。
    下面包括了主程序部分,工作线程在(2)中贴出,由于代码太长。
    本程序在VS2003编译器编译运行。在6.0下可能需要稍加修改。
    #include
    #include
    #include

    2022年9月28日
    2
  • Linux操作系统shell脚本for循环示例

    Linux操作系统shell脚本for循环示例Linux操作系统shell脚本for循环示例示例01forain{1..3};dosshroot@192.168.11.$acat/root/.ssh/id_rsa.pub>>/root/.ssh/authorized_keys;done示例02forain{2..3};doscp/root/.ssh/authorized_keysroot@192.168.11$a:/root/.ssh/authorized_keys;done示

    2025年7月12日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号