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

Jak usunąć rekordy w MySQL i zachować ostatnią datę?

Sprawdziłbym UpdateDate ze skorelowanym podzapytaniem.

CREATE TEMPORARY TABLE
  latestRecord (
    Email        VARCHAR(128),
    updateDate   DATETIME
) 
INSERT INTO 
  latestRecord
SELECT
  Email,
  MAX(updateDate) AS updateDate
FROM
  table_1
GROUP BY
  Emal

DELETE 
  table_1
FROM
  table_1
INNER JOIN
  latestRecord
    ON  latestRecord.Email      = table_1.Email
    AND latestRecord.updateDate < table_1.updateDate

EDYTUJ

Kolejny refaktor tej samej logiki



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Podgląd obrazu i przesyłanie za pomocą bazy danych PHP i MySQL

  2. Tabela przestawna Laravel z wieloma kolumnami, którą trzeba wstawić później

  3. Błąd JDBC, ale nie ma błędu, gdy uruchamiam moje zapytanie w środowisku roboczym MySQL

  4. Mysql jak ustawić typ danych czasu na tylko GG:MM w bazie danych

  5. Wstaw bieżącą datę/godzinę za pomocą now() w polu za pomocą MySQL/PHP