栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

带有多个列的oracle汇总功能

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

带有多个列的oracle汇总功能

我发现使用GROUPING SET子句指定所需的确切集合要容易得多:

WITH data(val1, val2, val3) AS     ( SELECt 'a' ,'a-details' ,'1' FROM DUAL     UNIOn ALL     SELECt 'b' ,'b-details' ,'2' FROM DUAL     UNIOn ALL     SELECt 'c' ,'c-details' ,'3' FROM DUAL     )SELECt NVL(val1,'Total Result'),     val2,     SUM(val3) totfrom datagroup by grouping sets ((val1, val2),());

我怀疑它会更有效,因为它直接指定要计算的级别。

http://sqlfiddle.com/#!4/8301d/3

CUBE和ROLLUP对于自动生成大量聚合级别(例如,维度层次结构中的每个级别)非常方便,如果您想从生成的大型CUBE中消除一小部分级别的子集,则可能会使用GROUPING
ID设置,但是GROUPING SET是专门用于指定特定聚合级别的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/420050.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号