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

Bảng tổng hợp cho dữ liệu mỗi giờ

SELECT * FROM crosstab(
       'SELECT cola, EXTRACT(HOUR from colb) AS h, count(*) AS ct
        FROM   fooo
        GROUP  BY 1, 2
        ORDER  BY 1, 2'

       ,'SELECT g::float8 FROM generate_series(0,23) g'
   ) AS ct (cola text
      , h00 int, h01 int, h02 int, h03 int, h04 int, h05 int
      , h06 int, h07 int, h08 int, h09 int, h10 int, h11 int
      , h12 int, h13 int, h14 int, h15 int, h16 int, h17 int
      , h18 int, h19 int, h20 int, h21 int, h22 int, h23 int);

Bổ sung:
Bạn quên giờ 0/24.
Sử dụng tên cột có ký tự đứng đầu để loại bỏ sự cần thiết của dấu ngoặc kép.

Chi tiết:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql - Tạo cơ sở dữ liệu &bảng động

  2. Thông số JDBC có ngăn chặn 'không?' từ được sử dụng như một toán tử (bên ngoài dấu ngoặc kép)?

  3. Sự cố với phạm vi thời gian vô hạn trong Rails

  4. Cách hoạt động của hàm CONCAT () trong PostgreSQL

  5. Cách trả lại id trên Phụ trang với Ibatis (với từ khóa QUAY LẠI)