sql >> Database >  >> RDS >> Mysql

Hoe verwijder ik records in MySQL en behoud ik de laatste datum?

Ik zou de UpdateDate vergelijken met een gecorreleerde subquery.

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

BEWERKEN

Nog een refactor van dezelfde logica



  1. Python-lijst van String naar SQL IN-parameter

  2. Oracle.ManagedDataAccess met Oracle 8.1.7 DB

  3. Wat is de beste manier om resultaten te pagineren in SQL Server?

  4. Geneste JSON maken met PHP MySQL