sql >> Databasteknik >  >> RDS >> PostgreSQL

Lägger till kolumn i tabellen med värde från nästa rad

I grund och botten tror jag att du bara kan hämta tidsstämpeln vid frågetillfället, inte lagra den i tabellen, men om du utför en sådan åtgärd och tror att det här är vad du behöver:

Du måste lägga till den kolumnen i tabellen:

ALTER TABLE tablename ADD COLUMN te timestamp;

Utför sedan en uppdatering som matar värdet med hjälp av LEAD fönsterfunktion.

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

Här är ett exempel på hur det fungerar med exempel på heltalsdata:SQL Fiddle .

Det kommer att fungera exakt samma för timestamp datatypvärden.



  1. Vad är maximalt antal rader i orakel kapslade tabeller

  2. Neo4j - Skapa en nod med Cypher

  3. Kan inte köra MySql Utilities

  4. Jämföra lastbalanserare för PostgreSQL