-
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
相关推荐
Lucifer三思而后行几秒前
中国移动 BCLinux 8.8 一键安装 Oracle 26aidjjdjdjdjjdj3 分钟前
bootstrap如何修改警告框(Alert)的边框粗细HalvmånEver5 分钟前
MySQL的数据类型(一)tjc1990100515 分钟前
golang如何使用t.Cleanup清理测试_golang t.Cleanup测试清理使用策略SeSs IZED18 分钟前
Redis开启远程连接jnrjian24 分钟前
DR$ JSON_INDEX $DG表的处理 Json search index data guide214396527 分钟前
如何提升SQL数据更新的安全性_使用行级锁与悲观锁机制uElY ITER35 分钟前
VS与SQL Sever(C语言操作数据库)SHoM SSER1 小时前
SQL之CASE WHEN用法详解Caspian Wren1 小时前
通过Logstash将MySQL数据同步到ES