-
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
相关推荐
heartbeat..4 分钟前
Redis 常用命令全解析:基础、进阶与场景化实战数据知道10 分钟前
PostgreSQL 实战:一文掌握如何优雅的进行递归查询?陌上丨15 分钟前
MySQL8.0高可用集群架构实战重生之绝世牛码26 分钟前
Linux软件安装 —— ClickHouse单节点安装(rpm安装、tar安装两种安装方式)一只自律的鸡40 分钟前
【MySQL】第十一章 存储过程和存储函数翔云12345644 分钟前
MySQL 中的 utf8 vs utf8mb4 区别数据知道1 小时前
PostgreSQL 实战:索引的设计原则详解老毛肚1 小时前
Spring 6.0基于JDB手写定制自己的ROM框架CodeBlossom1 小时前
MySQL进阶 索引未来之窗软件服务1 小时前
数据库优化提速(四)数据库数据批量补齐—仙盟创梦IDE