-
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
相关推荐
一 乐5 分钟前
校园社区系统|基于java+vue的校园悬赏任务平台系统(源码+数据库+文档)bing_15832 分钟前
MongoDB中如下参数是什么含义一过菜只因1 小时前
MySql学习(2)Geoking.1 小时前
Redis 中 ziplist 与 quicklist 解析与对比思成不止于此1 小时前
MySQL 查询进阶(二):行筛选与条件查询java_logo1 小时前
Milvus GUI ATTU Docker 容器化部署指南武帝为此1 小时前
【MongoDB 数据库介绍】悦来客栈的老板2 小时前
AST反混淆实战|reese84_jsvmp反编译前的优化处理倔强的石头_2 小时前
灵活性与高性能兼得:KingbaseES 对 JSON 数据的全面支持解析#微爱帮#2 小时前
微爱帮监狱寄信写信小程序数据库优化技术文档