SQL запрос не может использовать NOT LIKE для получения результатов - PullRequest
0 голосов
/ 26 мая 2020

Я начинаю с SQL и пытаюсь выполнить запрос, который выберет все имена событий, которые являются уникальными и не содержат «TODAY-XXXXXXXX» в значении столбца event_name. У меня есть запрос, который отлично работает для получения уникальных значений из таблицы, но я не могу заставить НЕ НРАВИТСЯ работать хорошо.

Например, я должен был удалить все элементы, которые имеют это имя СЕГОДНЯ- 20191021 данные в конце могут измениться, но у всех есть СЕГОДНЯ перед датой

Это запрос, который работает нормально

SELECT DISTINCT event_name, COUNT(*)
FROM events 
GROUP BY event_name
Having COUNT(*) > 100.

Но когда я пытаюсь добавить предложение where сбой с этой ошибкой

Ошибка выполнения запроса: столбец «СЕГОДНЯ-%» не существует СТРОКА 3: WHERE event_name NOT LIKE «TODAY-%» ^

Это это то, что у меня есть

SELECT DISTINCT event_name, COUNT(*)
FROM events 
WHERE event_name NOT LIKE "TODAY%"
GROUP BY event_name
Having COUNT(*) > 100.

1 Ответ

1 голос
/ 26 мая 2020

Здесь:

WHERE event_name NOT LIKE "TODAY%"

Поскольку вы используете двойные кавычки, база данных рассматривает эту строку как идентификатор (здесь имя столбца). Вместо этого вы хотите использовать одинарные кавычки, обозначающие буквальные строки:

WHERE event_name NOT LIKE 'TODAY%'
...