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

Tên cột động trong chế độ xem (Postgres)

Xu hướng đầu tiên của tôi là tạo ra bảng này:

+---------+-------+--------+
| Country | Month | Amount |
+---------+-------+--------+
| UK      | Jan   | 4      |
+---------+-------+--------+
| UK      | Feb   | 12     |
+---------+-------+--------+

vv và xoay nó. Vì vậy, bạn sẽ bắt đầu với (ví dụ):

SELECT 
  c.country, 
  EXTRACT(MONTH FROM s.eldate) AS month, 
  COUNT(*) AS amount
FROM country AS c
JOIN site AS s ON s.country_id = c.id
WHERE 
  s.eldate > NOW() - INTERVAL '1 year'
GROUP BY c.country, EXTRACT(MONTH FROM s.eldate);

Sau đó, bạn có thể cắm nó vào một trong crosstab các hàm từ tablefunc mô-đun để đạt được mục tiêu, hãy làm điều gì đó như sau:

SELECT * 
FROM crosstab('<query from above goes here>') 
  AS ct(country varchar, january integer, february integer, ... december integer);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django Nhập-Xuất Nhập Giá trị khóa trùng lặp vi phạm Lỗi

  2. Làm cách nào để tôi tạm thời vô hiệu hóa các ràng buộc toàn vẹn db trong django - postgresql

  3. PostgreSQL:ràng buộc ảnh hưởng đến nhiều bảng

  4. postgresql:.pgpass không hoạt động

  5. psql:FATAL:quá nhiều kết nối cho vai trò