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

oracle 子查询和窗口函数

描述:给定一张学生学科成绩表base_student_grade,字段id表示学生学号,name为姓名,subject表示学科,grade为某学科成绩。使用子查询和窗口函数查询每个学生成绩最高的学科和分数。

select id,name,subject,grade
from (select id,name,subject,grade,row_number() over(partition by id,name order by grade desc) as rnfrom base_student_grade
) where rn=1

注:

1. row_number() :窗口函数。为结果集中的每一行生成一个唯一的行号。

2. partition by:将数据按照id,name进行分区,即将具有相同id,name的行分为同一个分区。

3. order by grade desc:每个分区按照grade降序排列。

4. rn=1:选取每个分区内的第一行,rn=2:选取每个分区内的第二行,rn<=2:选取每个分区内的前两行。

http://www.lryc.cn/news/272897.html

相关文章:

  • 数据库开发与设计过程中的问题分析总结
  • 《数据库开发实践》之存储过程【知识点罗列+例题演练】
  • Linux进程地址空间
  • 2024.1.3 关于 Redis 渐进式遍历 和 数据库管理命令
  • 并发编程:线程同步基础:5、读写锁。ReentrantReadWriteLock
  • SpringBoot 集成 Kafka消息中间件,Docker安装Kafka环境
  • 阿里云Alibaba Cloud Linux 3镜像版本大全特性说明
  • 基于SSM的滁艺咖啡在线销售系统设计与实现
  • 【设计模式之美】理论一:怎么才算是单一原则、如何取舍单一原则
  • MYSQL 深入探索系列六 SQL执行计划
  • 安装jupyter notebook,jupyter notebook的简单使用
  • 宏集PC Runtime软件助推食品行业生产线数字化革新
  • python的课后练习总结3之条件语句
  • RedisTemplate序列化
  • 小米SU7汽车发布会; 齐碳科技C+轮融资;网易 1 月 3 日发布子曰教育大模型;百度文心一言用户数已突破 1 亿
  • Python----matplotlib库
  • PostgreSQL荣获DB-Engines 2023年度数据库
  • 【每天五道题,轻松公务员】Day3:太阳常识
  • 基于metersphere和supper-jacoco 测试覆盖率落地实践
  • LeetCode每周五题_2024/01/01~2024/01/05
  • 【华为OD机试真题2023CD卷 JAVAJS】抢7游戏
  • 14.7-时序反馈移位寄存器建模
  • 【设计模式】二十一.行为型模式之状态模式
  • 微服务实战系列之Dubbo(下)
  • 《剑指offer》数学第二题:求1+2+3+...+n
  • 阿里云服务器3M固定带宽速度快吗?
  • 美易官方:新年伊始美企狂发450多亿美元债券
  • [云原生] Go web工作流程
  • 【PostgreSQL】约束-主键
  • IDEA 控制台中文乱码问题解决方法(UTF-8 编码)