-
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
相关推荐
我是个假程序员4 小时前
sql server数据库可疑修复极限实验室5 小时前
如何使用 Nginx 代理 Easysearch 服务whn19775 小时前
selectdb修改表副本TDengine (老段)6 小时前
TDengine 中的视图Kyrie_Li7 小时前
Redis-Sentinel(哨兵模式)计算机毕设定制辅导-无忧学长7 小时前
TDengine 数据写入优化:协议选择与批量操作(一)Mr.洛 白8 小时前
OpenEuler/CentOS一键部署OpenGauss数据库教程(脚本+视频)炬火初现8 小时前
redis-cpp-cpp如何使用lua脚本hxung8 小时前
Redis 数据类型详解oh,huoyuyan9 小时前
火语言RPA--Sqlite-导入数据表格