У меня проблема с использованием SUM () OVER (PARTITION BY), когда у меня есть дубликаты записей. Я могу удалить дубликаты, используя DISTINCT, но SUM по-прежнему выполняется для всех дублирующих записей.
Например, мои данные:
--------------------------------------
|ref |CODES |VALUE |SUM |
--------------------------------------
|101 |CODE1 |20 |150 |
|101 |CODE2 |30 |150 |
|101 |CODE1 |20 |150 |
|101 |CODE2 |30 |150 |
|101 |CODE1 |20 |150 |
|101 |CODE2 |30 |150 |
При применении DISTINCT становится:
--------------------------------------
|ref |CODES |VALUE |SUM |
--------------------------------------
|101 |CODE1 |20 |150 |
|101 |CODE2 |30 |150 |
Итак, проблема в том, что я надеюсь, что столбец SUM будет равен 50.
Код SUM:
SUM(value) OVER (PARTITION BY ref) AS Total
Я хотел бы видеть:
--------------------------------------
|ref |CODES |VALUE |SUM |
--------------------------------------
|101 |CODE1 |20 |50 |
|101 |CODE2 |30 |50 |
Любой совет приветствуется. Спасибо.