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 解决方案: |
|
|
|
|
|