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. PostgreSQLのトップバックアップツール

    2. Oracleによるデータベースソース管理

    3. 接続プール内の最適な接続数

    4. DebianにPostGisをインストールするときにPGXSMakefileが見つからないというエラー