SQL Group по строке и вырезать результаты по символу - PullRequest
0 голосов
/ 18 февраля 2019

Я использую MySql и у меня есть такая таблица

id |city               | address         | work_time
-------------------------------
1  |London - center    |London street 1  |7am - 10 pm
2  |London - center 2  |London street 2  |7am - 10 pm
3  |London - center 3  |London street 3  |7am - 10 pm
4  |Paris - bol 1      |Bol street 3     |9am - 10 pm
5  |Paris - bol 2      |Bol street 13    |9am - 10 pm

Как сгруппировать все города по первой строке до - и обрезать все буквы после этого символа?Я хочу показать в списке только Лондон и Париж вот так

  id |city               
  -------------------------------
  1  |London 
  2  |Paris 

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Можно использовать SUBSTRING_INDEX и SELECT DISTINCT:

SELECT DISTINCT SUBSTRING_INDEX(city, ' -', 1) AS city
FROM yourtable

Демонстрация на dbfiddle

0 голосов
/ 18 февраля 2019

Вы можете использовать locate() функцию

select distinct substring(city,1,locate(' -',city)) as city
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...