加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle总计列和行

发布时间:2020-12-12 15:11:23 所属栏目:百科 来源:网络整理
导读:我有这个表作为另一个查询的结果 STATUS R1 R2 R3 R4 R5 R6 R7 R8 R9----------------------------------------------------ACCEPTED 322 241 278 473 575 595 567 449 605ADECUACIONES 0 0 0 0 2 0 1 0 50AET 0 0 2 0 0 0 0 0 11EXECUTED 0 80 1 18 9 57 34
我有这个表作为另一个查询的结果
STATUS          R1  R2  R3  R4  R5  R6  R7  R8  R9
----------------------------------------------------
ACCEPTED        322 241 278 473 575 595 567 449 605
ADECUACIONES    0   0   0   0   2   0   1   0   50
AET             0   0   2   0   0   0   0   0   11
EXECUTED        0   80  1   18  9   57  34  30  20
IN PROCESS      0   0   0   0   0   4   25  2   112
FREQ            0   55  2   76  25  117 7   73  48
INSTALL         1   4   1   10  5   14  2   13  62
WO INSTALL      9   2   51  24  143 17  15  59  16
WOT VL          0   1   0   0   1   0   0   0   0
OTHER          22   7   20  28  44  30  6   6   109
PROG            1   0   1   0   0   2   3   0   0
PTE PROG        0   5   0   0   0   0   3   19  93
TMX             0   0   0   28  4   8   11  3   14
PROJ            0   1   12  26  13  8   0   2   4

我期望得到的是这个

STATUS          R1  R2  R3  R4  R5  R6  R7  R8  R9  TOTAL
----------------------------------------------------------
ACCEPTED        322 241 278 473 575 595 567 449 605 4105
ADECUACIONES    0   0   0   0   2   0   1   0   50  53
AET             0   0   2   0   0   0   0   0   11  13
EXECUTED        0   80  1   18  9   57  34  30  20  249
IN PROCESS      0   0   0   0   0   4   25  2   112 143
FREQ            0   55  2   76  25  117 7   73  48  403
INSTALL         1   4   1   10  5   14  2   13  62  112
WO INSTALL      9   2   51  24  143 17  15  59  16  336
WOT VL          0   1   0   0   1   0   0   0   0   2
OTHER          22   7   20  28  44  30  6   6   109 272
PROG            1   0   1   0   0   2   3   0   0   7
PTE PROG        0   5   0   0   0   0   3   19  93  120
TMX             0   0   0   28  4   8   11  3   14  68
PROJ            0   1   12  26  13  8   0   2   4   66
TOTAL           355 396 368 683 821 852 674 656 1144 5949

我一直在玩grouping()和rollup(),但我总是得到重复的行和不需要的空值.

如果您遇到问题,grouping_id函数会对您有所帮助.

(您可以选择grouping_id(col),也可以选择grouping_id(col1,col2,col3等).)

但你的情况更简单.

它像是:

drop table fg_test_group;
create table fg_test_group (a number,b number,c number,d number);

insert into fg_test_group values (1,2,3,4);
insert into fg_test_group values (2,4);
insert into fg_test_group values (3,4);


select  nvl(to_char(a),'total') as a,sum(b),sum(c),sum(d),grouping_id(a)
from fg_test_group
group by rollup (a) 
;

在你的情况下,a是状态.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读