Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да изтрия записи в MySQL и да запазя последната дата

Бих проверил UpdateDate спрямо корелирана подзаявка.

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

РЕДАКТИРАНЕ

Друг рефактор на същата логика



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL връзката не работи

  2. Данните за символи не преминават от php към jquery

  3. MySql SELECT INTO Променлива:връща нула

  4. Как да стартирам MySQL команда на bash?

  5. пакетна замяна в за CodeIgniter Active Record