-
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
相关推荐
加号31 小时前
windows系统下mysql多源数据库同步部署シ風箏1 小时前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)李慕婉学姐1 小时前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。百锦再2 小时前
Django实现接口token检测的实现方案tryCbest2 小时前
数据库SQL学习jnrjian2 小时前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义十月南城2 小时前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略Henry Zhu1233 小时前
数据库:并发控制基本概念银发控、3 小时前
数据库隔离级别与三个问题(脏读、不可重复读、幻读)爱可生开源社区3 小时前
MySQL 性能优化:真正重要的变量