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是状态. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读