Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Porównanie daty i godziny MySQL z poprzednim wierszem

Można to obsłużyć poprzez sekwencyjne skanowanie tabeli i użycie zmiennych MySQL. Możesz przetestować w (zaktualizowany ) skrzypce SQL :

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konwersja numeru epoki na datę czytelną dla człowieka w mysql

  2. Jak wygenerować unikalny, losowy ciąg dla jednej z moich kolumn tabeli MySql?

  3. Jak utworzyć wyzwalacze, aby dodać zdarzenia zmiany do tabel dziennika audytu?

  4. Zagnieżdżone zasoby MySQL (tabele przestawne) uprawnienia do przeglądania/aktualizowania/zarządzania

  5. MySQL:Jak stworzyć wyzwalacz, który odrzuca nieletnich pracowników?