FieldA、FieldBおよびFieldCが同一であるテーブルから重複を削除しようとしています。私はレコードをwhere FieldD is NOT NULL
にしておきたい。重複を削除特定のフィールドの値を持つレコードを保持
私は一般的にそうのような重複を削除(および将来のものを防ぐ):
CREATE TABLE newtable LIKE oldtable;
INSERT newtable SELECT * FROM oldtable group by FieldA,FieldB,FieldC;
Drop Table oldtable;
Alter Table newtable RENAME oldtable;
CREATE Unique INDEX UniqueIndex ON oldtable (FieldA,FieldB,FieldC)
は、しかし、私はNOT NULL FieldDを含めるために、これを変更するかは不明です。それは私に最大(Char_Length(FieldD)を使用することができますが、各グループの最大値を返すようだが、最大のvalulを持つレコードではない)