-
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
相关推荐
Bert.Cai43 分钟前
Oracle INSTR函数详解茉莉玫瑰花茶3 小时前
综合案例 - AI 智能租房助手 [ 5 ]ywl4708120873 小时前
jwt生产token,简单版helloworld器灵科技3 小时前
AI视频工具实测:Seedance/可灵/HappyHorse谁最能打?huangdong_3 小时前
京东商品图片视频批量下载与m3u8视频合并技术完整实现方案倒流时光三十年3 小时前
PostgreSQL CASE 条件表达式详解字节跳动数据平台4 小时前
营销视频进入工业化时代,火山引擎多模态数据湖如何助力多米实现内容生产提效 100+ 倍健康平安的活着4 小时前
mysql中数据库脚本太大,通过脚本命令修改db名称倒流时光三十年4 小时前
PostgreSQL COALESCE 条件表达式函数详解让我上个超影吧5 小时前
Claude code:Hooks