PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Tính tổng theo tháng và đặt các tháng dưới dạng cột

Bạn có thể sử dụng hàm tổng hợp với CASE biểu thức để chuyển các hàng thành cột:

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

Xem SQL Fiddle with Demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. lỗi node-postgres $ 1 IS NULL

  2. PostgreSQL kiểm tra xem trường dấu thời gian có trống không

  3. PostgreSQL Nhận một datetime / timestamp ngẫu nhiên giữa hai datetime / timestamp

  4. Chuyển nhiều bộ hoặc mảng giá trị cho một hàm

  5. truy vấn không phân biệt chữ hoa chữ thường postgresql jsonb