KEY
と の 3 つの列を持つテーブルがありますVALUE
。LAST_UPDATED
重複するVALUE
フィールドがあります。最近更新された行を除いVALUE
て、他の行と同じ行をすべて削除したい。
したがって、テーブルにこれらの行が含まれている場合:
1, "A", 2013-11-08
2, "B", 2013-10-30
3, "A", 2013-11-07
4, "A", 2013-11-01
5, "B", 2013-11-01
次に、これらの行だけを保持したい:
1, "A", 2013-11-08
5, "B", 2013-11-01
SQLでこれをどのように行うことができますか? DELETE FROM table WHERE key IN (SELECT key FROM table GROUP BY value HAVING count(*)>1)
重複する値から単一のランダム(?)行を削除すると思いますが、最近更新された行以外をすべて削除するにはどうすればよいですか?