-
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
相关推荐
薛定谔的算法36 分钟前
phoneGPT:构建专业领域的检索增强型智能问答系统Databend2 小时前
Databend 亮相 RustChinaConf 2025,分享基于 Rust 构建商业化数仓平台的探索得物技术3 小时前
破解gh-ost变更导致MySQL表膨胀之谜|得物技术Raymond运维7 小时前
MariaDB源码编译安装(二)沢田纲吉8 小时前
🗄️ MySQL 表操作全面指南RestCloud1 天前
SQL Server到Hive:批处理ETL性能提升30%的实战经验RestCloud1 天前
为什么说零代码 ETL 是未来趋势?ClouGence1 天前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓DemonAvenger1 天前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践AAA修煤气灶刘哥2 天前
后端人速藏!数据库PD建模避坑指南