我有一个包含以下数据的表,尝试从表中删除重复的行。例如:ab = ba,cd = dc ..
请建议。
ab
ac
ad
ba
bc
bd
da
db
dc
ea
eb
ec
ed
fa
fb
fc
fd
答案 0 :(得分:1)
此查询将表连接到自身。 WHERE
条件确保t2仅保留要删除的值(即,它将删除ca
但不删除ac
。)
DELETE t2.*
FROM `table` t1
INNER JOIN `table` t2 ON t1.letters<t2.letters AND REVERSE(t1.letters)=t2.letters;
如果您想查看要删除的值,请在查询中将DELETE
替换为SELECT
。
答案 1 :(得分:0)
从test22中删除a(从test22 b中选择count(1),其中id = a.id或id = reverse(a.id))&gt; 1和rowid&lt;&gt; (从test22 c中选择min(rowid),其中c.id = a.id或c.id = reverse(a.id))
假设test22是表,而列包含重复值为id