回答

收藏

Oracle SQL-使用select为某些行生成聚合行

技术问答 技术问答 229 人阅读 | 0 人回复 | 2023-09-12

我有一个像下面这样的表。$ B+ [( I* o" `8 T8 z
|FILE| ID |PARENTID|SHOWCHILD|CAT1|CAT2|CAT3|TOTAL||F1  | A1 |  P1    |     N   | 3  | 2  | 6  | 11  ||F2  | A2 |  P2    |     N   | 4  | 7  | 3  | 14  ||F3  | A3 |  P1    |     N   | 3  | 1  | 1  | 5   ||F4  | LG1|        |     Y   | 6  | 3  | 7  | 16  ||F5  | LG2|        |     Y   | 4  | 7  | 3  | 14  |现在,有可能吗?我只想想showChild为’Y’的行找到cat1,cat2,cat3和total总(即)汇总,并将其添加到结果集中。
9 y* L5 M* P4 O* \! B+ d4 Q8 B! q|小孩| RES | RES | N | 10 | 10 | 10 | 30 |
' y' B' b2 |: w- Q
预期最终产量:
/ {* y* s5 W, ^5 P! J|FILE| ID |PARENTID|SHOWCHILD|CAT1|CAT2|CAT3|TOTAL||F1  | A1 |  P1    |     N   | 3  | 2  | 6  | 11  ||F2  | A2 |  P2    |     N   | 4  | 7  | 3  | 14  ||F3  | A3 |  P1    |     N   | 3  | 1  | 1  | 5   ||F4  | LG1|        |     Y   | 6  | 3  | 7  | 16  ||F5  | LG2|        |     Y   | 4  | 7  | 3  | 14  ||Tot | Res|  Res   |     N   | 10 | 10 | 10 | 30  |在这里,我仅在考虑将showchild为’Y’行后添加Tot线(最后一行)并添加到结果集中。) O! ?. O/ }0 v7 m3 H9 c2 r
我试着不用UNION的解决方案) P. a6 w7 B- ^% H( m
实现上述结果的任何帮助都受到高度赞赏。0 x, E4 k+ k: }  ]' u2 o1 n2 B/ Q2 L3 i
谢谢你。( Z9 }+ {7 X. e
                                                               
* e7 s% k) P9 W7 m3 k    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则