获得列年份的总和

时间:2017-05-30 05:11:18

标签: php mysql sql report

我每年都会尝试每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  |
+-----------------+------+------+------+------+

1 个答案:

答案 0 :(得分:1)

您可以根据案例使用总和和小组

  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