-
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
相关推荐
三书yjy2 分钟前
MySQL 中的索引数量是否越多越好?C66668884 分钟前
C#最新语言特性老朋友此林15 分钟前
浅谈 Redis 主从集群原理(一)喜欢猪猪1 小时前
深入解析MySQL索引:本质、分类、选择及使用原则Gauss松鼠会1 小时前
GaussDB高安全—数据保护:数据透明加密解决方案工程师1 小时前
【redis】redis内存管理,过期策略与淘汰策略♡喜欢做梦2 小时前
【MySQL】表的增删查改(CRUD)(上)小林熬夜学编程4 小时前
【MySQL】第九弹---掌握SQL关键操作:更新、删除、插入与聚合分析的秘诀web1511736022310 小时前
Redis--模糊查询--方法实例TT-Kun10 小时前
MySQL | 库操作