在 MySQL 中查找部分重复项(最后 6 个字符相同的键)
Finding Partial Duplicates in MySQL (Keys with last 6 characters the same)
卡在这个上面,知道它应该很简单。
但我有一个唯一 ID 列表,看起来像 AB123456、XY584234、CDE987654。最后六个字符有意义,所以我需要找到最后六个字符与另一个(子字符串)相同的所有行。
所以 ABCD1234 会匹配 XYCD1234,return 他们两个。需要 运行 在整个数据库上进行此操作并获取所有匹配项,最好是彼此相邻的匹配项。
这可能吗?
您可以使用 group by
和 right
执行此操作。以下 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
卡在这个上面,知道它应该很简单。
但我有一个唯一 ID 列表,看起来像 AB123456、XY584234、CDE987654。最后六个字符有意义,所以我需要找到最后六个字符与另一个(子字符串)相同的所有行。
所以 ABCD1234 会匹配 XYCD1234,return 他们两个。需要 运行 在整个数据库上进行此操作并获取所有匹配项,最好是彼此相邻的匹配项。
这可能吗?
您可以使用 group by
和 right
执行此操作。以下 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