-
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
相关推荐
星星落进兜里10 小时前
Redis 内存缓存,面试补充棣廷11 小时前
初识MySQL——DQL数据查询语言详解大模型码小白11 小时前
ChatGPT 的回答也能被结构化抓取?AI Bot Scraper 对比测评天涯柳絮11 小时前
SQL注入API快乐传递者11 小时前
淘宝海外商品详情接口实战指南:从全球开放平台到跨境铺货的全链路方案tachibana211 小时前
复杂的 RAG 范式2501_9318037512 小时前
MySQL 增删改查详解Sagittarius_A*12 小时前
【LitCTF2026】lit_ezsql未秃头的程序猿12 小时前
分库分表一年后,我复盘了当时最该想清楚的三件事心易行者12 小时前
用html在线运行做数据可视化大屏,5个实战场景从入门到上线