我有一个表像之下。
| 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 |
在实现上述结果任何帮助,高度赞赏。
谢谢。
您可以使用此:
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);