-
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 小时前
MySQL【内置函数】難釋懷1 小时前
Redis分片集群插槽原理冷小鱼1 小时前
pgvector 向量数据库完全指南:PostgreSQL 生态的 AI 增强陈天伟教授1 小时前
人工智能应用- 天文学家的助手:08. 星系定位与分类yunyun321232 小时前
用Python生成艺术:分形与算法绘图m0_662577972 小时前
高级爬虫技巧:处理JavaScript渲染(Selenium)ℳ๓₯㎕.空城旧梦2 小时前
Python单元测试(unittest)实战指南Navicat中国2 小时前
Navicat 高效破解 SQL 编写繁琐难题,提升数据库设计效率Amctwd2 小时前
【数据库】常用 Sql 示例知识分享小能手3 小时前
Redis入门学习教程,从入门到精通,Redis 数据操作:知识点详解与代码实战(2)