SQL где функция используется с Over Partition - PullRequest
0 голосов
/ 27 февраля 2019

Я вычисляю диапазон цифр, один из вычисленных столбцов - средневзвешенное вычисление, основанное на "Accountlink" от "DTstamp".Проблема заключается в том, что мне нужно, чтобы конечный результат (для каждой учетной записи) отображался в новом столбце - конечный результат для каждой учетной записи для каждой учетной записи - для использования в новом расчете - в соответствии с приведенным ниже примером:

Accountlink      WA_Calc         WA_Calc_Final
1                 20.00            30.00
1                 40.00            30.00
1                 30.00            30.00 
2                 15.00            20.00
2                 35.00            20.00
2                 28.00            20.00  

визображение является выдержкой из сценария, который я компилирую.

enter image description here

Однако я просто получаю ошибки.

Любая помощь и / или направление будет оченьоценены.

1 Ответ

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

Вам нужен столбец, который определяет порядок.Таблицы SQL представляют неупорядоченные наборы, поэтому «последней строки» не существует, если только в столбце это не указано.

Позвольте мне предположить, что она у вас есть.Я просто назову это ?.

Тогда вы можете использовать first_value():

select t.*,
       first_value(wa_calc) over (partition by id order by ? desc) as wa_calc_final
from t;
...