Oracle SQL - генерировать статистическую строку, используя select - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть таблица, подобная приведенной ниже.

|    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    |

Любая помощь в достижении вышеуказанных результатов высоко ценится.

Спасибо.

1 Ответ

0 голосов
/ 12 февраля 2019

Вы можете использовать это:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...