Mysql 在第一个匹配的字符上查找重复项

标签 mysql sql select duplicates

我想在 MySQL 中左侧或第一行的第一个匹配的四个字符上提取双记录。 如何进行选择?

id  name
1   1111q
2   1111
3   1111asdfgg
4   2222
5   2222ag
6   1111au
7   3333
8   5555

类似于:

id  name
2   1111
1   1111q
6   1111au
3   1111asdfgg
4   2222
5   2222ag

最佳答案

select distinct t.*
from the_table t
     inner join the_table t2 ON left(t.name,4)=left(t2.name,4) and t.id<>t2.id

通过 LEFT 4 个字符连接到同一个表并排除相同的 ID

关于Mysql 在第一个匹配的字符上查找重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35934936/

相关文章:

mysql - 从 AWS EC2 MySQL 数据库迁移到 Azure MySQL 数据库导致性能非常差

mysql - 在 MySQL 中修改十进制键表的最快方法?

sql - 如何从 SQL 访问 Seconds_Behind_Master

mysql - 在整个表中搜索一个单词 - MySQL

c# - 在函数/方法中使用 MySql 数据

mysql - 如何在 MySQL 中选择具有给定标签的帖子的所有标签?

java - sql准备语句和java

sql - Bison + Flex SQL 解析器

mysql - MySQL 如何找到具有给定内容的行?

python - 检查多个子字符串是否在 Pandas 数据框中