Oracle如何将多次分组求和的数据合并到一张表上?

如何将sql嵌套语句中分组数据放到一张表上。求指点,详情看截图。... 如何将sql嵌套语句中分组数据放到一张表上。求指点,详情看截图。 展开
 我来答
longrenyingdc8ecb1
2019-12-11 · TA获得超过1万个赞
知道大有可为答主
回答量:6032
采纳率:82%
帮助的人:2359万
展开全部
个人十分费力的看了看你的图,说实话真的很费眼睛。
你说的统计,我首先想到的就是分层统计rollup或者cube。
看你的最终需求似乎也是这种要求,唯一就是我不知道你的表结构是不是完全按照分层标题这样设立的,如果是那么只要按照细粒度的顺序摆列就好了。
最大的两个是销售产品成本和冷运成本(字段1),冷运成本则又分为固定成本和变动成本(字段2),再往下则是最小的细粒度(字段3标示出)。

那么只要 group by rollup(字段1,字段2,字段3)就可以了。
这样字段3有值的就是什么水电费,房租费那种,字段3没有值,字段2有值的就是固定成本和变动成本,字段2也没有值的就是销售产品成本和冷运成本。直接就能查出来了。只是rollup的合计在下面,和你最终的表格稍稍有些出入。
更多追问追答
追问
抱歉,大神,以为这样会比较好看些,因为源码太长超出字数限制了。
确实如您所说分层统计,并且按照顺序进行排列,我如何能把源码发给您过目啊
追答
我举个例子,希望你能看懂
表格:
字段1 字段2 字段3 其他属性字段 数值
select 字段1,字段2,字段3,sum(数值) from 表格 group by rollup(字段1,字段2,字段3)
出来的结果是
字段1 字段2 字段3 数值
字段1 字段2 数值
字段1 数值
也就是说本身就是分层统计的,其中第二行,是第一行的内容的合计(如果你的字段2有两个值,那么就是这两个值的分别的合计),第三行是第二行的合计(字段1有多个值的时候也是一样的),数都查出来了,剩下的就好办了。
zxzsky520
2019-12-11 · TA获得超过1678个赞
知道小有建树答主
回答量:1604
采纳率:78%
帮助的人:357万
展开全部
根本不用套写,使用Group By Grouping Sets((全分组字段),(二级分组字段),(三级分组字段)......要多少写多少) 方法就可以实现
追问
求指教大神,源码已经发您私信。
追答

看图效果

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
问问他个人
2019-12-11 · TA获得超过184个赞
知道答主
回答量:5254
采纳率:43%
帮助的人:333万
展开全部
利用公式就可以了。很简单
追问
用公式很简单,但是想在sql里面直接呈现,不在Excel里面在做计算,如果操作呀,或者有什么函数?小弟刚开始接触Oracle语言,还请大神指教
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
万径寻踪
高粉答主

2019-12-11 · 多视角多领域看待世事
万径寻踪
采纳数:3326 获赞数:6575

向TA提问 私信TA
展开全部
题主使用的这个是甲骨文数据库软件嘛。。。
追问
嗯,Oracle数据库
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式