sql >> Database teknologi >  >> RDS >> Mysql

Hvordan refererer jeg en attribut inde i en tabel til en værdi inde i en ny række i den samme tabel

Hvis du ikke har en Mysql 8.x-server, kan du bruge denne.

CREATE TABLE table1
(`Name_ID {FK}` int, `Completion_Date` varchar(10), `New_Time` int)
;

INSERT INTO table1
(`Name_ID {FK}`, `Completion_Date`, `New_Time`)
VALUES
(001, '16/01/2019', 108),
(001, '16/02/2019', 123),
(001, '16/03/2019', 136)
;

Og du kan bruge denne

select  `Name_ID {FK}`,`Completion_Date`,@quot old_time, @quot:=`New_Time` new_time
 from table1 p,(SELECT @quot := 0) r
 order by  `Name_ID {FK}`,`Completion_Date`;

for at få dette resultat:

Name_ID {FK}    Completion_Date     old_time    new_time
  1              16/01/2019            0           108
  1              16/02/2019            108         123
  1              16/03/2019            123         136

Den er baseret på denneSimuleringsforsinkelsesfunktion i MySQL



  1. Hvordan man optimerer en ORDER BY for en beregnet kolonne på en MASSIV MySQL-tabel

  2. Hvordan opretter man midlertidige procedurer i MySQL?

  3. WIDE tabeller mysql

  4. Driveren kunne ikke etablere en sikker forbindelse til SQL Server ved at bruge Secure Sockets Layer (SSL) kryptering