めも

技術メモとその他

【Postgresql】集計して、CSV形式にする方法

select * from nyukintable;

 id | siten | kokyakuid | nyukin | torihikibi 

----+-------+-----------+--------+------------

  1 | 東京  | 001       |  77500 | 2007-01-01

  2 | 大阪  | 002       |  56200 | 2007-01-02

  3 | 福岡  | 003       |  17900 | 2007-01-03

  4 | 東京  | 004       |  27000 | 2007-01-04

  5 | 大阪  | 005       |  71000 | 2007-01-05

  6 | 福岡  | 006       |  13100 | 2007-01-06

  7 | 東京  | 007       |    680 | 2007-01-07

  8 | 大阪  | 008       |   7600 | 2007-01-08

 

select siten,sum(nyukin) from nyukintable group by siten;

 siten |  sum   

-------+--------

 東京  | 598680

 福岡  | 686300

 大阪  | 978200

 

select array_to_string(array_agg(array[siten,sums]),',') from (select siten,cast(sum(nyukin) as text) as sums from nyukintable group by siten) a;

           array_to_string           

-------------------------------------

 東京,598680,福岡,686300,大阪,978200

(1 row)