Как отсортировать записи в базе 1.4, 2.6.5...

lutskboy
На сайте с 22.11.2013
Offline
173
1527

Здравствуйте

в поле типа char есть записи вида

3.7.9

6.9

7.0

3.0.9

.......

как их отсортировать по порядку

order by field сортирует но не всегда правильно

по идее можно точку заменить чем то. а потом при выводе менять. но чем.

или может есть другой тип поля

totamon
На сайте с 12.05.2007
Offline
437
#1

если вы хотите именно в строках хранить и сравнивать, то приводите к единому формату

3.7.9

6.9.0

7.0.0

3.0.9

Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
lutskboy
На сайте с 22.11.2013
Offline
173
#2

ааа. тоже вариант. не подумал про такое

спасибо

C
На сайте с 04.02.2005
Offline
277
#3
lutskboy:
по идее можно точку заменить чем то. а потом при выводе менять. но чем.
или может есть другой тип поля

Ну и меняйте

SELECT with_dot, replace(whit_dot,'.','')

FROM table

ORDER BY 2

lutskboy
На сайте с 22.11.2013
Offline
173
#4
Chukcha:
Ну и меняйте

SELECT with_dot, replace(whit_dot,'.','')
FROM table
ORDER BY 2

тоже не сортирует правильно

---------- Добавлено 09.02.2017 в 13:16 ----------

кстати и то что советовал totamon, тоже

и виной всему то, что есть и такие строки где идет подряд два числа

1.11.3

2.10.1

......

а не просто число точка

C
На сайте с 04.02.2005
Offline
277
#5

ну можно иначе сортировать

типа по точкам

но тогда должно быть фиксированное количество точек

ORDER BY до первой точки, первая вторая, третья

totamon
На сайте с 12.05.2007
Offline
437
#6
lutskboy:
и виной всему то, что есть и такие строки где идет подряд два числа

две цифры может? я когда писал про формат это и имел в виду, что нужно приводить к единому формату, если максимальное число 2 разряда число то 01,11,99, если 3 то 000,001,020,345 и тд...

вы же понимаете, что в вашем случае вы сравниваете не числа, а строки? и строки должны быть одинаковой длины.

дани мапов
На сайте с 06.09.2012
Offline
204
#7
Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий