sql >> データベース >  >> RDS >> PostgreSQL

月ごとに合計し、月を列として入力します

    CASEで集計関数を使用できます 行を列に変換する式:

    select id,
      extra_info,
      sum(case when month = 'jan' then value else 0 end) jan,
      sum(case when month = 'feb' then value else 0 end) feb,
      sum(case when month = 'mar' then value else 0 end) mar,
      sum(case when month = 'apr' then value else 0 end) apr,
      sum(case when month = 'may' then value else 0 end) may,
      sum(case when month = 'jun' then value else 0 end) jun,
      sum(case when month = 'jul' then value else 0 end) jul,
      sum(case when month = 'aug' then value else 0 end) aug,
      sum(case when month = 'sep' then value else 0 end) sep,
      sum(case when month = 'oct' then value else 0 end) oct,
      sum(case when month = 'nov' then value else 0 end) nov,
      sum(case when month = 'dec' then value else 0 end) "dec"
    from yt
    group by id, extra_info
    

    SQL Fiddle withDemo を参照してください。



    1. MysqlクエリでPHP関数strtotimeを使用できますか

    2. Oracle、MSSQL、MySQL、PostgreSQL間の基本的な管理の比較

    3. Railsを使用してリモートMySQLホストに接続する際の問題

    4. Google Maps APIv3javascriptマーカーが常に読み込まれるとは限りません