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

Thêm cột vào bảng với giá trị từ hàng tiếp theo

Về cơ bản, tôi nghĩ bạn chỉ có thể truy xuất dấu thời gian tại thời điểm truy vấn, không lưu trữ nó trong bảng, nhưng nếu bạn đang thực hiện hành động như vậy và nghĩ rằng đây là những gì bạn cần thì:

Bạn cần thêm cột đó vào bảng của mình:

ALTER TABLE tablename ADD COLUMN te timestamp;

Sau đó, thực hiện cập nhật cung cấp giá trị bằng cách sử dụng LEAD chức năng cửa sổ.

UPDATE tablename t
SET te = x.te
FROM (
  SELECT ts, lead(ts, 1) OVER (order by ts) AS te
  FROM tablename t2
  ) x
WHERE t.ts = x.ts

Dưới đây là ví dụ về cách nó hoạt động bằng cách sử dụng dữ liệu số nguyên mẫu: SQL Fiddle .

Nó sẽ hoạt động giống hệt nhau đối với timestamp giá trị kiểu dữ liệu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL:Trừ 1 ngày cho ngày dấu thời gian

  2. Bảng chữ cái với một số lượng lớn hoặc không xác định các danh mục

  3. Thay đổi các cột PostgreSQL được sử dụng trong các dạng xem

  4. Thay đổi kế hoạch thực thi của truy vấn trong postgresql theo cách thủ công?

  5. dữ liệu mùa xuân jpa còn lại không cần thiết