PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Menambahkan kolom ke tabel dengan nilai dari baris berikutnya

Pada dasarnya saya pikir Anda bisa mengambil stempel waktu pada waktu kueri, tidak menyimpannya di tabel, tetapi jika Anda melakukan tindakan seperti itu dan berpikir bahwa inilah yang Anda butuhkan:

Anda perlu menambahkan kolom itu ke tabel Anda:

ALTER TABLE tablename ADD COLUMN te timestamp;

Kemudian lakukan pembaruan yang memberi makan nilai dengan menggunakan LEAD fungsi jendela.

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

Berikut ini contoh cara kerjanya menggunakan sampel data integer:SQL Fiddle .

Ini akan melakukan hal yang sama untuk timestamp nilai tipe data.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mendapatkan Hari Tahun Ini dari Tanggal di PostgreSQL

  2. postgres:dapatkan kueri yang dapat dieksekusi dari kueri dengan parameter

  3. psycopg2.OperationalError:FATAL:protokol frontend tidak didukung 1234.5679:server mendukung 2.0 hingga 3.0

  4. Bagaimana cara mengubah bidang stempel waktu ke string ISO 8601 di zona waktu tertentu?

  5. Postgres SELECT di mana WHERE adalah UUID atau string