Как найти данные, которые не содержат в названии определенных слов?

Ссылка скопирована
1 ответ

Возникли сложности с составлением запроса, что я делаю не так?
Необходимо вывести первые 10 компаний без повторений, которые не содержат в названии “Taxi”
и “Chicago”.

SELECT Count(*) AS cnt, company_name  FROM cabs; WHERE company_name NOT LIKE ‘%Chicago%’ and ‘%taxi%’ LIMIT 10;

SELECT Count(*) AS cnt, company_name FROM cabs; WHERE company_name NOT LIKE ‘%Chicago%’ and ‘%taxi%’ LIMIT 10;

Дополнительно:

and not like

и/или/не принимают предикат, предикат должен быть полнцоенным выражением, а не "подразумеваю, что ранее уже говорил not like"

  • Выражение count(*) (агрегация) нужно использовать в паре с group by.
  • SELECT DISTINCT     company_name  FROM cabs  WHERE NOT (company_name LIKE ‘%Chicago%’ OR  company_name  LIKE  ‘%taxi%) LIMIT 10;

    SELECT DISTINCT company_name FROM cabs WHERE NOT (company_name LIKE ‘%Chicago%’ OR company_name LIKE ‘%taxi%’ ) LIMIT 10;

    • Спасибо большое!
      Но он все равно выдает таблицу с 65 компаниями, и в названии всех присутствует упомянутые слова.
    • ivankovavika, fixed
    • ivankovavika, example : https://sqlize.online/sql/mysql57/e9d8541c7ba7608e...
    • Slava Rozhnev, Благодарю тебя!!
      ты мне очень помог! ура))))
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Виктор Sys Ответ

    Для того чтобы найти данные, которые не содержат определенных слов в их названии, можно воспользоваться SQL запросом с использованием оператора NOT LIKE.

    Пример SQL запроса для поиска всех записей, где название не содержит определенные слова "apple" и "banana":

    SELECT * FROM table_name
    WHERE name NOT LIKE '%apple%' AND name NOT LIKE '%banana%';

    SELECT * FROM table_name WHERE name NOT LIKE '%apple%' AND name NOT LIKE '%banana%';

    В данном запросе мы указываем таблицу "table_name" и столбец "name", где ищем данные. Оператор NOT LIKE используется для поиска записей, которые не содержат определенные слова. Символ % обозначает любое количество символов до или после указанного слова.

    Если необходимо исключить несколько слов из поиска, можно добавить дополнительные условия с использованием оператора NOT LIKE.

    Например, для исключения слов "apple", "banana" и "orange":

    SELECT * FROM table_name
    WHERE name NOT LIKE '%apple%' AND name NOT LIKE '%banana%' AND name NOT LIKE '%orange%';

    SELECT * FROM table_name WHERE name NOT LIKE '%apple%' AND name NOT LIKE '%banana%' AND name NOT LIKE '%orange%';

    Таким образом, используя оператор NOT LIKE в SQL запросе, можно эффективно находить данные, которые не содержат определенные слова в их названии.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно