Как составить отрицательный запрос? - MySQL
Формулировка задачи:
В таблице имеются столбцы user_agent и ip.
Как подсчитать, сколько в таблице уникальных ip, для которых в user_agent не входит yandex?
(именно не входит как часть строки, а не user_agent != yandex)
Решение задачи: «Как составить отрицательный запрос?»
textual
Листинг программы
SELECT COUNT(ip) FROM TABLE WHERE INSTR(user_agent, 'yandex')=0 GROUP BY ip
Объяснение кода листинга программы
В данном коде выполняется поиск уникальных IP-адресов в столбце ip таблицы TABLE, которые не содержат в своем значении подстроку 'yandex'. Результатом запроса будет количество найденных IP-адресов. Вот список элементов кода с их номерами:
SELECT COUNT(ip)- выбирается количество записей, содержащих столбецip.FROM TABLE- указывается название таблицы, в которой производится поиск.WHERE INSTR(user_agent, 'yandex')=0- задается условие для отбора записей, в которых значение столбцаuser_agentне содержит подстроку 'yandex'.GROUP BY ip- происходит группировка записей по столбцуip, чтобы найти уникальные IP-адреса.