Годовой расчет - PullRequest
       2

Годовой расчет

1 голос
/ 19 июня 2020

Таблица:

col1      2018     2017    2016    2015   2014   2013   2012    2011

abc       8721     1273.2  122    (null)  (null) (null) (null)  (null)
def       (null)   654.67  (null) (null)  0      67     9.7      876
ghi       (null)   (null)  (null) (null)  (null) (null) (null)  (null)
jkl       0        124     875    100     761    26.1    239.1  2987

Я хочу рассчитать разницу между годами, где результат будет примерно таким:

col1      2018-2017     2017-2016    2016-2015   2015-2014   2014-2013   2013-2012    2012-2011

abc       7447.8        1151.2       122         0           0           0            0
def      -654.67        654.67       0           0          -67          57.3        -866.3
ghi       0             0            0           0           0           0            0
jkl      -124          -751          775        -661         734.9       -213        -2747.9

Например, между 2018 и 2017 годами для row1 будет 8721-1273.2 = 7447.8

1 Ответ

1 голос
/ 19 июня 2020

Вы можете вычесть столбцы следующим образом:

select col1,
  coalesce(`2018`, 0) - coalesce(`2017`, 0) as `2018-2017`,
  coalesce(`2017`, 0) - coalesce(`2016`, 0) as `2017-2016`,
  ........................................................
from tablename
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...