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

Hợp nhất các kết quả trong bảng thành các cột (pivot / crosstab?)

Để tìm dấu thời gian gần đây nhất, trước tiên hãy sử dụng toán tử so sánh để loại trừ các dấu thời gian trong tương lai. Tiếp theo, sắp xếp theo khoảng thời gian nhỏ nhất bằng cách lấy dấu thời gian bạn muốn trừ đi các ứng cử viên có thể có dấu thời gian. Để chỉ nhận được kết quả gần đây nhất, hãy giới hạn 1.

Để lấy table2 val để hiển thị cùng với các cột của table1, bạn chỉ cần chạy cùng một mã cho table2 trong một truy vấn con.

SELECT update_time AS time, id1, id2, val, (
  SELECT val from table2 
  WHERE '2004-10-19 10:04:00' >= update_time
  ORDER BY '2004-10-19 10:04:00' - update_time
  LIMIT 1
)
FROM table1 WHERE '2004-10-19 10:04:00' >= update_time
ORDER BY '2004-10-19 10:04:00' - update_time
LIMIT 1;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm nạp bài đăng từ những người dùng không chặn

  2. Cách nhóm theo và nối các mảng trong PostgreSQL

  3. Giám sát PostgreSQL cần thiết - Phần 3

  4. lastInsertId không hoạt động trong Postgresql

  5. Postgres UPDATE to_tsvector cập nhật tất cả các hàng thành cùng một giá trị