Задавайте вопросы, мы ответим
Вы не зашли.
Добрового времени суток... Прошу не ругаться читал форум но ничего не нашел что мголо бы мне помочь.. Вообщем есть таблица т1 в ней храняться ip адреса в формате xxx.xxx.xxx.xxx. необходимо сделать сортировку этих адресов пробовал с помошью order by получил совершенно не тот результат вместо последовательности 195.168.194.1,195.168.194.2,195.168.194.111 получил 195.168.194.1,195.168.194.111,195.168.194.2 как понял эт баг order by ... подскажите как сделать чтобы получить первую последовательность???? что необходимо указать в запросе??? тип данных tinytext... вот пример как я делаю
"SELECT * FROM `t1` odrer by x" где х-столбец содержашие ip адреса результат
id х
10 10.0.0.0
1 10.0.10.0
8 10.0.11.0
3 10.0.21.0
2 10.0.9.0
а нужно что бы было так
id х
10 10.0.0.0
2 10.0.9.0
1 10.0.10.0
8 10.0.11.0
3 10.0.21.0
Отредактированно Lordok (11.03.2009 09:44:09)
Неактивен
Это не баг ORDER BY, строки сортируются именно так, как отсортировал MySQL.
IP-адреса лучше хранить в виде целых чисел («родное» представление), тогда
и сортировка будет правильной. Для небольших таблиц можете воспользоваться
функцией INET_ATON (ORDER BY INET_ATON(x)).
Для больших таблиц этот способ не подойдет, т.к. он не будет использовать индекс.
Неактивен
Что за родное предстовление, не допонял...
Неактивен
огромное спасиюбо очень благодарен
Неактивен