MySQLコマンドやSQL文に関する各種メモ書き

最新x件を残して残りすべてを削除するSQL

最新x件を残して残りすべてを削除するSQLはMySQLのユーザー変数を使って下記のように記述します。

(例ではキーとなるカラムを持たない検索ログの場合。)

SET @d = ( SELECT search_date FROM my_table ORDER BY search_date DESC limit 100,1 );
DELETE FROM my_table WHERE search_date < @d;

No.769
01/26 17:10

edit