2016-10-25 2 views
0

Share Weights to Average Share WeightsSQL Средние значения из разных строк

См. Рисунок выше.

В настоящее время у меня есть таблица весов в SQL. Я бы хотел создать таблицу средних весов. Средний вес акций в каждой ячейке рассчитывается путем усреднения значения для этого актива в этом году со значением для этого актива в предыдущем году.

Например:

  • 2011 актив 1 (5.5) был рассчитан путем усреднения 6 (2010 актива 1) и 5 ​​(2011) активами 1.
  • В строке 2010 года нет средних весов, поскольку 2009 года нет.
  • 2014 актив 3 (7) был рассчитан путем усреднения 1 (активы 2013 года 3) и 13 (актива 3-го актива 3).

Буду признателен за любую помощь. Благодаря!

+0

Я удалил несовместимые теги программного обеспечения. Пожалуйста, отметьте только базой данных, которую вы фактически используете. –

ответ

0

Я думаю, что самый простой способ left join и арифметика:

select (t.asset1 + tprev.asset1)/2.0 as asset1, 
     . . . 
from t left join 
    t tprev 
    on tprev.year = t.year - 1 
+0

Не могли бы вы быть более ясными? Что будет в таблице tprev? Это дубликат таблицы t? – jerbear

+0

Ничего, я понял! Благодарю. – jerbear

Смежные вопросы