Member 13558298 Ответов: 1

Как я могу найти, если символ дублируется в строке без жесткого кодирования его в MYSQL?


мой стол выглядит так: таблица поставщиков(Snumber, sname, status, birthday, city)

Я пытаюсь ответить на этот вопрос:

How many suppliers have distinct their first letter of their name (not repeated) and how many supplier cities have distinct the last letter of their cities for all the suppliers who were born after 1970?


Мне нужно посмотреть на первую букву каждого sname таблицы и выяснить, повторяется ли она в этом имени или нет... мне нужно вывести, сколько имен имели первую букву, которая не повторялась в этом же имени.


Пример: sname = gordon первая буква-g, но g не повторяется в имени, так что Гордон будет считаться.

Пример: City london n-это последняя буква, но n происходит в Лондоне 2 раза, так что Лондон не будет засчитан.

для городов то же самое, но вместо последней буквы... я раньше не любил, но это все равно не работает

Что я уже пробовал:

SELECT(SELECT COUNT(*)
	   FROM supplier 
	   WHERE SUBSTRING(supplier.sname,1,1) NOT LIKE
       CONCAT('%',SUBSTRING(supplier.sname,1,1))) AS supplier_Count,

       (SELECT COUNT(*)
       	FROM supplier
        WHERE SUBSTRING(supplier.city,LENGTH(supplier.city) - 1,1) NOT LIKE
        CONCAT('\'',SUBSTRING(supplier.city,LENGTH(supplier.city) - 1,1),'%\'')) AS City_Count;

RDBurmon

Не могли бы вы привести несколько примеров?

Santosh kumar Pithani

Улучшите свой вопрос с помощью ожидаемого результата или примера.

1 Ответов

Рейтинг:
1

Santosh kumar Pithani

SELECT
      (SELECT COUNT(1) FROM supplier  WHERE supplier.sname  NOT LIKE
       '%'+left(supplier.sname,1)+'%'+left(supplier.sname,1)+'%')   AS supplier_Count,
 
      (SELECT COUNT(1)  FROM supplier  WHERE supplier.city NOT LIKE
       '%'+right(supplier.city,1)+'%'+right(supplier.city,1)+'%')   AS City_Count;