-
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
相关推荐
rrrjqy4 分钟前
Redis常见问题(一)Humbunklung5 分钟前
WMO 天气代码(Code Table 4677)深度解析与应用报告道清茗15 分钟前
【MySQL知识点问答题】锁机制、索引优化与数据库恢复方法hero.fei27 分钟前
排查redis出现报错ERR redis temporary failure野犬寒鸦36 分钟前
MySQL复习记录Day01ward RINL41 分钟前
Spring boot启动原理及相关组件RisunJan1 小时前
Linux命令-mysqldump(MySQL数据库中备份工具)DolphinDB智臾科技1 小时前
直播回顾 | 物联网时序数据库如何驱动电力场景智能调度?郝学胜-神的一滴1 小时前
解锁CS数据存储的核心逻辑:从结构选择到表单设计的全解析qq_391105341 小时前
TDengine C# 连接示例和授权管理