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

ORACLE SQL思路: 多行数据有相同字段就合并成一条数据 分页展示

数据

分数表:

学号,科目名(A,B,C),分数

需求

分页列表展示, 如果一个学号的科目有相同的分数, 合并成一条数据,用 + 拼接 科目名

ORACLE SQL 实现

SELECT Z.*,
SUBSTR(DECODE(fa.科目,null,'','+'||fa.科目)
|| DECODE(fb.科目,null,'','+'||fb.科目)	
|| DECODE(fc.科目,null,'','+'||fc.科目)	
,2 ) as 学科组合名称
FROM (
SELECT A.* FROM    (
SELECT 学号,分数  , ROW_NUMBER() OVER (order by 分数 desc,学号 ) as rn
FROM 分数表 WHERE ....  GROUP BY 学号 , 分数 )  A WHERE  A.rn BETWEEN 分页开始行 AND 分页结束行
)ZLEFT JOIN 分数表 fa ON fa.学号=Z.学号 AND fa.科目='A' AND fa.分数 =Z.分数LEFT JOIN 分数表 fb ON fb.学号=Z.学号 AND fb.科目='B' AND fb.分数 =Z.分数LEFT JOIN 分数表 fc ON fc.学号=Z.学号 AND fc.科目='C' AND fc.分数 =Z.分数
ORDER BY Z.分数 asc, Z.学号			

转换

如果相同字段是 天数差

, ( TRUNC(Z.时间) - TRUNC(to_date('2024-12-09', 'YYYY-MM-DD')) ) as 相差天数
http://www.lryc.cn/news/502523.html

相关文章:

  • SpringBoot 手动实现动态切换数据源 DynamicSource (中)
  • y3编辑器教学5:触发器2 案例演示
  • 数值分析——插值法(二)
  • 杨振宁大学物理视频中黄色的字,c#写程序去掉
  • uni-app 设置缓存过期时间【跨端开发系列】
  • 微信小程序base64图片与临时路径互相转换
  • 蓝桥杯刷题——day2
  • 5.删除链表的倒数第N个节点
  • 自己总结:selenium高阶知识
  • 前端怎么预览pdf
  • activemq 的安装部署
  • 【H3CNE邓方鸣】配置链路聚合+2024.12.11
  • C语言 学习 日志 递归函数 2024/12/12
  • 【Ubuntu】使用ip link工具创建虚拟局域网并配置?
  • flink sink kafka的事务提交现象猜想
  • 网络原理03
  • 每天40分玩转Django:简介和环境搭建
  • 【蓝桥杯最新板】蓝桥杯嵌入式液晶上实现电子时钟
  • 【机器学习】基础知识:拟合度(Goodness of Fit)
  • 使用Jackson库在Java应用程序中将Map对象转换为JSON数组字符串,以及反向操作
  • 深入解析强化学习中的 Generalized Advantage Estimation (GAE)
  • 离开wordpress
  • Python的3D可视化库【vedo】1-4 (visual模块) 体素可视化、光照控制、Actor2D对象
  • 使用html和JavaScript实现一个简易的物业管理系统
  • 什么是纯虚函数?什么是抽象类?纯虚函数和抽象类在面向对象编程中的意义是什么?
  • #Ts篇: Record<string, number> 是 TypeScript 中的一种类型定义,它表示一个键值对集合
  • Exp 智能协同管理系统前端首页框架开发
  • C# 备份文件夹
  • 互联网信息泄露与安全扫描工具汇总
  • 主导极点,传递函数零极点与时域模态