Как написать запрос на соединение с оператором like - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь найти повторяющиеся (совпадающие имена) записи в таблице.

-----------------------------------
|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   | 
-----------------------------------

Iпопробовал ниже запрос, но не работает.

select p.* 
from countries p
left join countries u
on concat('|', p.name, '|') like concat('%|', u.name, '|%')

1 Ответ

0 голосов
/ 08 мая 2019

Вы можете использовать group by здесь:

Select count(id) as count, name from countries group by countries.name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...