我正在尝试在表中查找重复(匹配的名称)记录。
-----------------------------------
|id | name |
-----------------------------------
| 1 | Bielefeld Area, Germany |
-----------------------------------
| 2 | Biella Area, Italy |
-----------------------------------
| 3 | Bilbao Area, Italy |
-----------------------------------
| 4 | Birmingham, United Kingdom |
-----------------------------------
| 5 | Blackburn, United Kingdom |
-----------------------------------
| 6 | Blackpool, United Kingdom |
-----------------------------------
| 7 | Bogotá D.C. Area, Colombia |
-----------------------------------
我想过滤同名重复的记录,例如英国伯明翰、英国布莱克本、意大利毕尔巴鄂地区
预期结果
-----------------------------------
|id | name |
-----------------------------------
| 2 | Biella Area, Italy |
-----------------------------------
| 3 | Bilbao Area, Italy |
-----------------------------------
| 4 | Birmingham, United Kingdom |
-----------------------------------
| 5 | Blackburn, United Kingdom |
-----------------------------------
| 6 | Blackpool, United Kingdom |
-----------------------------------
我已尝试以下查询但不起作用。
select p.*
from countries p
left join countries u
on concat('|', p.name, '|') like concat('%|', u.name, '|%')
最佳答案
您可以在此处使用group by
:
选择 count(id) 作为计数,按国家/地区分组的名称。名称
关于mysql - 如何使用 like 运算符编写连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56034918/