Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 按年计算_Mysql_Sql - Fatal编程技术网

Mysql 按年计算

Mysql 按年计算,mysql,sql,Mysql,Sql,表: 我想计算年与年之间的差异,其中产出如下: 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)

表:

我想计算年与年之间的差异,其中产出如下:

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

例如,在2018年至2017年间,第1行的值为
8721-1273.2=7447.8

您可以减去如下列:

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

认真考虑修改你的模式设计。数据库表不是电子表格。
select col1,
  coalesce(`2018`, 0) - coalesce(`2017`, 0) as `2018-2017`,
  coalesce(`2017`, 0) - coalesce(`2016`, 0) as `2017-2016`,
  ........................................................
from tablename