SQL中row_number() over(partition by)详解「建议收藏」

SQL中row_number() over(partition by)详解「建议收藏」row_number语法ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号。在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是一致的,当使用ROW_NUMBER函数时,也需要专门一列用于预先排序以便于进行编号partitionby关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反…

大家好,又见面了,我是你们的朋友全栈君。

知乎主页

row_number 语法

ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号。在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是一致的,当使用ROW_NUMBER函数时,也需要专门一列用于预先排序以便于进行编号

partition by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组,分区函数一般与排名函数一起使用。

原始表score:

s_id 表是学生编号,c_id表是课程编号,s_score 表是学生对应的课程分数

在这里插入图片描述

1.要求:得出每门课程的学生成绩排序(升序)

—-因为是每门课程的结果,并且要排序,所以用row_number

select * ,row_number() over (partition by c_id order by s_score) from score;

返回结果:

在这里插入图片描述

2:进一步要求:得出每门课程的学生成绩,并且按照70分作为分割线排序—即低于70分的排序,高于70分的排序

select * ,row_number() over (partition by c_id,(case when s_score>70 then 1 else 0 end) order by s_score) from score;

返回结果:

在这里插入图片描述
知乎主页

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

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


相关推荐

  • 次世代3A游戏开发将飙至1.5亿美元,游戏时长将更短

    次世代3A游戏开发将飙至1.5亿美元,游戏时长将更短即将翻过的这个世代,是大作的时代,涌现了一大批的大作,譬如《荒野大镖客2》、《GTA5》、《巫师3》等游戏。当然也是预算高涨、不断跳票和开发商经常加班加点的时代。随着PS5和XSX即将到来,随之一起的将是有史以来细节最丰富和预算更贵的游戏世界,问题就出现了:游戏行业还会继续痴迷于这么庞大世界的游戏吗?在GameBabLive会议上,SIE前总裁ShawnLayden表达了对次世代游戏开发成本倍增的担忧。他认为次世代3A游戏的开发将不可避免地从今天的8000万美元飙升至1.5亿美元。因此Lay

    2022年6月10日
    77
  • Oracle与Sql Server复制表结构和数据

    Oracle与Sql Server复制表结构和数据

    2022年1月10日
    51
  • 树莓派pico官方网站_树莓派pico参数

    树莓派pico官方网站_树莓派pico参数文章目录1树莓派PICO简介1.1简介1.2配置[^2]1.3引脚图1.4尺寸2安装2.1烧录固件2.2安装IDE(ThonnyIDE)2.3离线运行程序3基础3.01点亮板载LED灯3.02板载LED闪烁3.03LED流水灯3.04按键实验3.05外部中断(改进3.04按键实验)3.06定时器中断(改进3.02板载LED闪烁)3.07PWM脉冲宽度调制(实现板载LED呼吸灯)3.08I2C总线(使用SSD1306OLED屏幕)4传感器程序4.1温度传

    2022年10月14日
    2
  • 网络流量分析

    网络流量分析网络流量分析具体要求收集自己本机的网络流量数据(至少1小时)并进行数据显示。可用wireshark软件抓包网络流量大小的时序图,可按每半分钟、每分钟、每五分钟、每十分钟进行分别显示。流量协议类型直方图可设置过滤条件,显示指定协议数据包、显示时间段数据包、显示长度范围内的数据包提示:由于代码导入pyshark模块,注意wireshark安装路径为C盘programfils文件夹下,…

    2022年4月29日
    68
  • dataloader 源码_DataLoader

    dataloader 源码_DataLoaderimportpaddle.fluidasfluidimportnumpyasnpBATCH_NUM=10BATCH_SIZE=16EPOCH_NUM=4CLASS_NUM=10ITERABLE=True#whetherthecreatedDataLoaderobjectisiterableUSE_GPU=False#whethertous…

    2022年6月11日
    35
  • 分析ICMP报文「建议收藏」

    分析ICMP报文「建议收藏」目录捕获准备:ICMP的相关知识:报文分析:捕获准备:启动wireshark录制数据包,打开命令行窗口输入pingwww.sina.com.cn。Wireshark已记录下报文,在过滤器输入ip.addr==120.192.83.125过滤报文。ICMP的相关知识:ICMP是(InternetControlMessage…

    2022年4月29日
    101

发表回复

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

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