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

MySQL datetime sammenligning med forrige række

Dette kan håndteres med sekventiel scanning af tabellen og ved hjælp af MySQL-variabler. Du kan teste i (opdateret ) SQL-violin :

SELECT date2
     , dd 
     , DATE_FORMAT(dd, '%b %e, %Y') AS final_date
     , date1_duplicate
     , date1_was_null
FROM
( SELECT date2
       , COALESCE( (date1 = @d OR date1 = @prev), FALSE)
           AS date1_duplicate
       , (date1 IS NULL)               AS date1_was_null
       , @d := CASE WHEN (date1 = @d OR date1 = @prev) 
                 THEN date2 
                 ELSE COALESCE(date1, date2) 
               END AS dd
       , @prev := date1 AS pre
  FROM tableX AS t
    CROSS JOIN
      ( SELECT @d := DATE('1000-01-01')
             , @prev := @d 
      ) AS dummy
  ORDER BY date2 ASC 
) AS tmp
ORDER BY date2 DESC
;



  1. Vedvarende UUID i PostgreSQL ved hjælp af JPA

  2. MySQL - hvorfor ikke indeksere hvert felt?

  3. Tilladelsesproblem i SSMS:SELECT-tilladelsen blev nægtet på objektet 'extended_properties', databasen 'mssqlsystem_resource', ... Fejl 229)

  4. NodeJS:Hvor forbindes til databasen i kode?