надеюсь, что кто-то сможет просветить меня. У меня есть еженедельные данные с колонкой - последний день этой недели, а также тип и продолжительность. И я хочу агрегировать продолжительность для каждого типа в отдельном столбце для каждой недели (получить его на неделе № 1, неделе № 2 и т. Д. c.) Для каждого идентификатора.
Итак, это входные данные:
+-----+---------------+------+----------+
| id | week end date | type | duration |
+-----+---------------+------+----------+
| 101 | 14.07.2017 | A | 5 |
| 101 | 14.07.2017 | A | 1 |
| 101 | 14.07.2017 | B | 4 |
| 101 | 14.07.2017 | C | 2 |
| 101 | 21.07.2017 | A | 4 |
| … | … | … | … |
| 102 | 14.07.2017 | A | 2 |
| 102 | 14.07.2017 | B | 4 |
+-----+---------------+------+----------+
Вот что я пытаюсь получить:
+---------+----------+-------+-------+---+
| id | Week num | A_sum | B_sum | … |
+---------+----------+-------+-------+---+
| 101 | 1 | 6 | 4 | |
| 101 | 2 | 5 | 8 | |
| 101 | 3 | 5 | 5 | |
| … | | | | |
| 102 | 1 | 5 | 2 | |
| 102 | 2 | 8 | 2 | |
+---------+----------+-------+-------+---+
Для этого случая количество типов невелико, поэтому мы можем вручную определить новые столбцы как SUM(CASE WHEN type='A' THEN duration ELSE 0 END) "A"
В целом кажется возможным, но я не могу собрать все это вместе ..