Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.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
Php 获取上一年列的总和_Php_Mysql_Sql_Report - Fatal编程技术网

Php 获取上一年列的总和

Php 获取上一年列的总和,php,mysql,sql,report,Php,Mysql,Sql,Report,我尝试每年做一份报告,其中我每4年指定一年。在报告中,显示已可用的年度选项以进行报告。例如选项2013-2016,因此在报告中显示了2013年、2014年、2015年和2016年的数据。 有关更多详细信息,我有如下表格: +-----------------+--------------+-------------+-------------+ | id_jenis_perjal | jenis_perjal | id_tahun | tahun | +-----------

我尝试每年做一份报告,其中我每4年指定一年。在报告中,显示已可用的年度选项以进行报告。例如选项2013-2016,因此在报告中显示了2013年、2014年、2015年和2016年的数据。 有关更多详细信息,我有如下表格:

+-----------------+--------------+-------------+-------------+ 
| id_jenis_perjal | jenis_perjal |  id_tahun   |   tahun     |
+-----------------+--------------+-------------+-------------+ 
|        7        | RPPJ         |  1          |   2013      |
|        7        | RPPJ         |  1          |   2013      |
|        7        | RPPJ         |  2          |   2014      |
|        7        | RPPJ         |  3          |   2015      |
|        7        | RPPJ         |  4          |   2016      |
|        8        | Rambu        |  1          |   2013      |
|        8        | Rambu        |  2          |   2014      |
|        8        | Rambu        |  2          |   2014      |
|        8        | Rambu        |  3          |   2015      |
|        8        | Rambu        |  4          |   2016      |
|        8        | Rambu        |  4          |   2016      |
|        8        | Rambu        |  4          |   2016      |
+-----------------+--------------+-------------+-------------+ 
但是要显示报告,我必须修改表,使其如下所示

+-----------------+------+------+------+------+ 
| jenis_perjal    | 2013 | 2014 | 2015 | 2016 |
+-----------------+------+------+------+------+
|      RPPJ       |   2  |   1  |   1  |   1  |
|      Rambu      |   1  |   2  |   1  |   3  |
+-----------------+------+------+------+------+

您可以根据情况使用sum和group

  select jenis_perjal
      , sum( case when tahum = 2013 then id_tahun end ) as 2013
      , sum( case when tahum = 2014 then id_tahun end ) as 2014
      , sum( case when tahum = 2015 then id_tahun end ) as 2015
      , sum( case when tahum = 2016 then id_tahun end ) as 2016
  from my_table 
  group by jenis_perjal

在SCAISEDGE的MySqSdEdScript的MySqdStEdt中搜索“<代码> GROPBI/<代码> <代码>计数>代码,考虑在应用程序代码(PHP,在此实例中)处理数据显示的问题),这被称为数据透视表,并在这里多次被问答。重复主题描述mysql中的静态(预先知道的列)和动态(动态确定的列)数据透视。请注意,在应用程序代码中执行此转换可能比在mysql中更有效,@草莓也指出了这一点。哦,看看@Shadow能做什么!祝贺你!:-)@草莓谢谢:)