LINUX.ORG.RU

запрос mysql


0

0

как сделать правильно запрос

в таблице имеется разные виды ип

мне нужно подсчитать сумму ип от 1.1.1.1 до 1.1.1.50

SELECT SUM(ip) FROM table WHERE ip BETWEEN '1.1.1.1' AND '1.1.1.50';

так поймет мускуль или нет или нужно самому в цикле делатьи потом подставлять '1.1.1.'.$i;

anonymous

пардон запрос вот такой SELECT SUM(traffic) FROM table WHERE ip BETWEEN '1.1.1.1' AND '1.1.1.50';

anonymous
()

Можешь перевести IP-шники в числовое отображение. Типа, a.b.c.d будет соответствовать число ( ((a*256+b)*256+c)*256+d ), и потом уже сравнивать. Или сравнивать подсетями (where ip like '1.1.1.%').

Если ip-шников не много, думаю, проще будет банально подставить нужное количество OR ip='1.1.1.<n>'

AngryElf ★★★★★
()
Ответ на: комментарий от anonymous

> я лучше воспользуюсь INET_ATON функцией

Типа, это не то же самое.. :-)

AngryElf ★★★★★
()

А в чём, собственно, смысл суммировать ip? Ты количество хочешь посчитать? Тады select count(ip)...

С уважением -- Смоляное Чучелко

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.