-
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
相关推荐
爱学习的阿磊6 分钟前
Python上下文管理器(with语句)的原理与实践m0_7369191010 分钟前
Python面向对象编程(OOP)终极指南OceanBase数据库官方博客19 分钟前
滔搏基于OceanBase实现 15TB到0.9TB“无痛切换”与“系统瘦身”Jess0724 分钟前
MySQL内置函数OceanBase数据库官方博客26 分钟前
爱奇艺基于OceanBase实现百亿级卡券业务的“单库双擎”架构升级weixin1997010801629 分钟前
锦程物流item_get - 获取详情接口对接全攻略:从入门到精通AC赳赳老秦31 分钟前
DeepSeek 辅助科研项目申报:可行性报告与经费预算框架的智能化撰写指南2501_9277730731 分钟前
Linux系统编程——sqlite数据库mahailiang36 分钟前
codeblocks+wxWidgets Projects中引用第三方库(sqlite3)cyforkk1 小时前
09、Java 基础硬核复习:异常处理(容错机制)的核心逻辑与面试考点