-
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
相关推荐
青春:一叶知秋1 小时前
【Redis存储】List列表爆更小哇3 小时前
MyBatis的TypeHandler :优雅地实现数据加密与解密likuolei4 小时前
Eclipse 创建 Java 接口w***15314 小时前
Spring boot启动原理及相关组件q***65694 小时前
PostgreSQL 17 发布了!非常稳定的版本云飞云共享云桌面4 小时前
如何降低非标自动化工厂的研发软件采购成本泰克教育官方账号5 小时前
泰涨知识 | 什么是自动化巡检?oneslide5 小时前
分享一个MySQL数据库备份恢复脚本--IIGauss松鼠会5 小时前
【GaussDB】使用DBLINK连接到ORACLEArva .5 小时前
深度分页、读写分离、分库分表后 SQL 该如何优化?