私は現在 SQLBase データベースを実行しており、重複したアイテムを選択して削除することをいくつか試しました。
ここにシナリオがあります:
Tablename: test1
||=========||=========||==================||
|| column1 || column2 || rowid ||
||=========||=========||==================||
|| 1 || 1 || AAAAAAAAAAAAAAAA ||
|| 1 || 1 || BBBBBBBBBBBBBBBB ||
|| 1 || 1 || CCCCCCCCCCCCCCCC ||
|| 1 || 2 || DDDDDDDDDDDDDDDD ||
|| 1 || 2 || EEEEEEEEEEEEEEEE ||
|| 1 || 3 || FFFFFFFFFFFFFFFF ||
|| 1 || 4 || GGGGGGGGGGGGGGGG ||
||=========||=========||==================||
RowID は仮想列です。これはシステムによって作成されます。
私がやりたいのは、すべての重複を削除することなので、最終的には次のようになります。
||=========||=========||==================||
|| column1 || column2 || rowid ||
||=========||=========||==================||
|| 1 || 1 || AAAAAAAAAAAAAAAA ||
|| 1 || 2 || DDDDDDDDDDDDDDDD ||
|| 1 || 3 || FFFFFFFFFFFFFFFF ||
|| 1 || 4 || GGGGGGGGGGGGGGGG ||
||=========||=========||==================||
問題は、それが SQLBase にあり、複製を反復する関数がないことです。
次のような重複を見つけます:
SELECT column1, column2 COUNT(*)
FROM test1
GROUP BY column1, column2
HAVING COUNT(*) > 1;
そして、私の問題があります。その時点からそれらを削除する方法が見つかりません。また、ステートメントのために、明らかにrowid
重複選択に追加できません。group by
column1
重複を削除して、 undの各組み合わせのエントリを 1 つだけにする可能性はありますcolumn2
か?