-
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
相关推荐
一只栖枝1 分钟前
关于OCP认证:有Oracle和MySQL两种小Tomkk14 分钟前
StarRocks SRCA 考试心得总结千千寰宇23 分钟前
[数据库/SQL] 浅谈DDL、DSL、DCL、DML、DQL爱编程的小新☆1 小时前
【MySQL】数据类型和表的操作聪明的墨菲特i2 小时前
SQL进阶知识:七、数据库设计APItesterCris3 小时前
Flutter 移动端开发:集成淘宝 API 实现商品数据实时展示 APP极小狐4 小时前
极狐GitLab 议题权重有什么作用?懵逼的小黑子5 小时前
解释两个 Django 命令 makemigrations和migrateLxinccode7 小时前
Java查询数据库表信息导出Word-获取数据库实现[1]:KingbaseES豆沙沙包?8 小时前
5.学习笔记-SpringMVC(P61-P70)