重複とかダブりとか
3月 23rd, 2010使えそうなSQL構文見つけたのでメモっておく。
ダブリのレコードがあるかこんな感じで見つけられる
SELECT field_name FROM table_name GROUP BY field_name HAVING COUNT(field_name) > 1
もし全フィールドの値が完全に同じだったら片方消すってのがWHERE文ではできないのでここでoidの出番。oidのでかいほうを消してるようです。
DELETE FROM table_name USING (SELECT field_name, max(ctid) AS ctid FROM table_name GROUP BY field_name) AS X WHERE X.field_name = table_name.field_name AND X.ctid <> table_name.ctid;
postgresqlでうまく動きました。その他は分からないです。