-
Oracle 版本: 19c ,Production version 19.3.0.0.0 Enterprise
-
使用场景:对结果集生成总计、小计效果
-
模拟数据:
数学 语文 学号 班级 90 80 0001 1班 80 95 0002 1班 77 99 0003 2班 95 85 0004 2班 -
例子 1(按照班级分组小计、班级总分) :
sqlSELECT NVL(班级,'总计') 班级, CASE WHEN 班级 IS NULL THEN '-' ELSE NVL(学号,'小计') END 学号, SUM(数学) 数学, SUM(语文) 语文 FROM score GROUP BY ROLLUP(班级,学号) ORDER BY 班级,学号
班级 学号 数学 语文 1班 0001 90 80 1班 0002 80 95 1班 小计 170 175 2班 0003 77 99 2班 0004 95 85 2班 小计 172 184 总计 - 342 359 -
例子2 (只有总计)
sqlSELECT NVL(班级,'总计') 班级, CASE WHEN 班级 IS NULL THEN '-' ELSE NVL(学号,'小计') END 学号, SUM(数学) 数学, SUM(语文) 语文 FROM score GROUP BY ROLLUP((班级,学号)) -- 意思是 班级、学号组合分组 ORDER BY 班级,学号
班级 学号 数学 语文 1班 0001 90 80 1班 0002 80 95 2班 0003 77 99 2班 0004 95 85 总计 - 342 359
Oracle中的Rollup 使用方法
米斯特程序猿2023-09-11 12:15
相关推荐
?ccc?13 分钟前
MySQL故障排查与生产环境优化零叹22 分钟前
篇章二 论坛系统——系统设计重生之后端学习23 分钟前
苍穹外卖-day03快起来别睡了31 分钟前
传统数据表创建与Prompt方式的对比:以NBA赛季投篮数据表设计为例五月高高37 分钟前
Oracle查询表空间大小远方160939 分钟前
21-Oracle 23 ai-Automatic SQL Plan Management(SPM)语风方伯43 分钟前
Mysql docker部署8.0升级到8.4清风~徐~来1 小时前
【Qt】控件 QWidget庸子2 小时前
MySQL从入门到DBA深度学习指南cookqq2 小时前
mongodb源码分析session执行handleRequest命令find过程