テーブルから重複する行を削除しようとすると、以下のデータを持つテーブルがあります。例:ab = ba、cd = dc ..SQL:文字列の逆位置
お勧めします。
ab
ac
ad
ba
bc
bd
da
db
dc
ea
eb
ec
ed
fa
fb
fc
fd
テーブルから重複する行を削除しようとすると、以下のデータを持つテーブルがあります。例:ab = ba、cd = dc ..SQL:文字列の逆位置
お勧めします。
ab
ac
ad
ba
bc
bd
da
db
dc
ea
eb
ec
ed
fa
fb
fc
fd
このクエリは、テーブル自体を結合します。 WHERE
条件では、t2には削除する値しか保持されません(つまり、ca
は削除されますが、ac
は削除されません)。
DELETE t2.*
FROM `table` t1
INNER JOIN `table` t2 ON t1.letters<t2.letters AND REVERSE(t1.letters)=t2.letters;
あなただけのクエリでSELECT
でDELETE
を置き換え、値が削除されるかを確認したい場合は
test22から削除するwhere(test22からのselect count(1)id = a.idまたはid = reverse(a.id))> 1およびrowid <>(test22からmin(rowid)を選択します。 c.id = a.idまたはc.id =リバース(a.id))
と仮定test22は、テーブルで、列には、重複する値が含まれているDBMSが使用しているID
のですか? – jarlh
データをソートする - 最初のオカレンスを見つける - 残りを削除する –
あなたの質問を編集し、追加情報を提供してください:(1)あなたが使っているデータベースは何ですか? (2)あなたはどんな結果を望んでいるのですか? (3)はあなたの1列または2列の値ですか? (4)何を試しましたか? –