Выборка ip из бд mysql

156
21 января 2019, 22:40

Делаю выборку ip адресов, интересуют все результаты кроме данного диапазона (55.249.0.0 - 55.249.255.255):

SELECT ip, count(*) FROM dbip **AND INET_ATON(ip) 
NOT IN (BETWEEN INET_ATON('55.249.0.0') AND INET_ATON('55.249.255.255'))** IN GROUP BY ip
Answer 1

Запрос-то идеологически правильный, а вот синтаксис - подкачал...

SELECT ip, count(*) 
FROM dbip 
WHERE INET_ATON(ip) NOT BETWEEN INET_ATON('55.249.0.0') AND INET_ATON('55.249.255.255')
GROUP BY ip

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

READ ALSO
сложить массивы

сложить массивы

Имеется 3 массива следующего вида:

141
Как передать файлы REST API yii2?

Как передать файлы REST API yii2?

Нужно оформить отправку и сохранение файлов (изображений) на сервере с помощью метода POST (и PUT (или PATCH, есть вообще разница? (и если есть, то какая?)),...

173
Wordpress Ошибка “Error establishing a database connection”

Wordpress Ошибка “Error establishing a database connection”

Упал сайтНа главной и на стороне админки "Error establishing a database connection" В wp-config

156
Вывод переменной в середине текста MessageBox

Вывод переменной в середине текста MessageBox

В char WindowText[4096] хранится заголовок окна (не окна с сообщением), полученный при помощи GetWindowTextКогда я пытаюсь сделать так:

142