Redshift - Как я могу объединить и добавить вдоль измерения строки? - PullRequest
0 голосов
/ 26 марта 2020

Как я могу объединиться и, возможно, добавить вертикально? Скажем, у меня есть таблица, такая как:

| NAME   | Metric1 | Metric2 | Metric3 | Metric4 |
|--------|---------|---------|---------|---------|
| class1 | NULL    | 3       | NULL    | 4       |
| class1 | 1       | NULL    | 4       | NULL    |
| class2 | 5       | 2       | 6       | NULL    |
| class2 | NULL    | NULL    | 1       | NULL    |
| class2 | 4       | NULL    | NULL    | NULL    |

с 2 классами (class и class2. Иногда метри c будет НЕДЕЙСТВИТЕЛЕН, а иногда он будет заполнен. Я хотел бы конечный результат, например, так:

| NAME   | Metric1 | Metric3 | Metric3 | Metric4   |
|--------|---------|---------|---------|-----------|
| class1 | 1       | 3       | 4       | 4         |
| class2 | 9       | 2       | 7       | NULL or 0 |

, где результаты группируются по имени класса, а метрики «объединяются», если заполнен или добавлен только 1 экземпляр, если несколько. Любые подсказки?

1 Ответ

3 голосов
/ 26 марта 2020

Просто используйте sum():

select name, sum(metric1), sum(metric2), sum(metric3), sum(metric4)
from t
group by name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...