在 MySQL 中查找部分重复项(最后 6 个字符相同的键)

Finding Partial Duplicates in MySQL (Keys with last 6 characters the same)

卡在这个上面,知道它应该很简单。

但我有一个唯一 ID 列表,看起来像 AB123456、XY584234、CDE987654。最后六个字符有意义,所以我需要找到最后六个字符与另一个(子字符串)相同的所有行。

所以 ABCD1234 会匹配 XYCD1234,return 他们两个。需要 运行 在整个数据库上进行此操作并获取所有匹配项,最好是彼此相邻的匹配项。

这可能吗?

您可以使用 group byright 执行此操作。以下 returns 所有看起来相似的 ID 的列表:

select right(id, 6), group_concat(id)
from table t
group by right(id, 6);

您可能想要添加:

having count(*) > 1

如果你不想要单例。

请使用以下查询获取结果。

select * from tablename where right(columnname,6)= value