甲骨文的SQL - 使用select生成汇总行

问题描述 投票:0回答:1

我有一个表像之下。

|    FILE   | CATEGORY1 | CATEGORY2 | CATEGORY3 |
| File1.txt |    3      |     2     |     6     |
| File2.txt |    4      |     7     |     3     |
| File2.txt |    3      |     1     |     1     |

现在,是否有可能增加一个新的行作为选择查询将提供以下行添加到结果集的一部分。

| Total     |    10     |     10    |     10    |

预计最终的输出:

|    FILE   | CATEGORY1 | CATEGORY2 | CATEGORY3 |
| File1.txt |    3      |     2     |     6     |
| File2.txt |    4      |     7     |     3     |
| File2.txt |    3      |     1     |     1     |
| Total     |    10     |     10    |     10    |

在实现上述结果任何帮助,高度赞赏。

谢谢。

sql oracle aggregate
1个回答
3
投票

您可以使用此:

SELECT FILE, CATEGORY1, CATEGORY2, CATEGORY3 From TestTable
union all
SELECT 'Total', Sum([CATEGORY1]), Sum([CATEGORY2]), Sum([CATEGORY3]) From TestTable

如果您的列值允许为空,则可以使用函数像nvl

您也可以尝试rollup也:

SELECT File, Sum([CATEGORY1]), Sum([CATEGORY2]), Sum([CATEGORY3]) From
TestTable
group by rollup (File);
© www.soinside.com 2019 - 2024. All rights reserved.