データベースのテーブルで重複したすべてのエントリを削除する方法を見つけようとしています。重複を削除する前に、この重複をさらに計算する必要があるため、それらを一時テーブルに配置する必要があります。
重複の取得はかなり複雑なSQLステートメントであり、active_recordの方法で実行したくありません...
SELECT bad_rows. *
FROM settings AS bad_rows
INNER JOIN (
SELECT user_id, record_id, MIN( id ) AS min_id
FROM settings
GROUP BY user_id, record_id
HAVING COUNT( * ) >1
) AS good_rows
ON good_rows.user_id = bad_rows.user_id
AND good_rows.record_id = bad_rows.record_id
AND good_rows.min_id <> bad_rows.id
このステートメントでこの一時テーブルを生成するにはどうすればよいですか? このタスクに ar-extentions を使用するのは理にかなっていますか?