powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сортировка в поле Varchar с текстом
9 сообщений из 9, страница 1 из 1
Сортировка в поле Varchar с текстом
    #38383277
Uadeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер. Ребяты, у мну вопрос с сортировкой, ответа я нормального не нашел, вот в чем суть:


id name1 Текст 12 Текст 103 Текст 24 Текст 125 Аааа 1

Select * FROM table ORDER BY name ASC

Вот таким обычным запросом у меня будет результат:
Aaaa 1
Текст 1
Текст 10
Текст 12
Текст 2

Но хотелось бы результат был таким:
Aaaa 1
Текст 1
Текст 2
Текст 10
Текст 12

т.е. и по тексту и по цифрам которые там идут.

В интернете перерыл вариант с name+0 ничего нормального не дает, подскажите, возможно ли это сделать средставами MySQL?

Буду очень благодарен за ответ.
...
Рейтинг: 0 / 0
Сортировка в поле Varchar с текстом
    #38383285
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uadeveloper,

Сделать дополнительное поле для сортировки... не предлагать?
...
Рейтинг: 0 / 0
Сортировка в поле Varchar с текстом
    #38383289
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если содержимое ИМЕННО ТАКОЕ - слово-пробел-число, то
Код: sql
1.
ORDER BY SUBSTRING_INDEX(name,' ',1), CAST(SUBSTRING_INDEX(name,' ',-1) AS UNSIGNED)
...
Рейтинг: 0 / 0
Сортировка в поле Varchar с текстом
    #38383290
kixiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mysql> select id,name from table_name order by substring_index(name,' ',1),substring_index(name,' ',-1)*1;
+----+---------------+
| id | name |
+----+---------------+
| 4 | Aaaa 1 |
| 5 | Aaaa 10 |
| 1 | Текст 1 |
| 2 | Текст 2 |
| 3 | Текст 10 |
| 6 | Текст 12 |
+----+---------------+
...
Рейтинг: 0 / 0
Сортировка в поле Varchar с текстом
    #38383295
Uadeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Нет, содержимое может быть не только такое, может быть небольшой текст (скажем до 3х пробелов).
Да, этот вариант я тоже пробовал.

Скажите, больше вариантов нет?

Отдельное поле сортировки мне не будет удобно, даже я бы сказал затруднительно
...
Рейтинг: 0 / 0
Сортировка в поле Varchar с текстом
    #38383297
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UadeveloperНет, содержимое может быть не только такое, может быть небольшой текст (скажем до 3х пробелов).
Да, этот вариант я тоже пробовал.

А числовая составляющая - всегда имеется и всегда последняя?
Дайте формализованно все варианты данных этого поля.
...
Рейтинг: 0 / 0
Сортировка в поле Varchar с текстом
    #38383308
kixiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Uadeveloper, вариант один, разделить на две части - строковую и числовую, и сортировать по обоим частям, но только по строковой сортировать как строка, а по числовой как число.
...
Рейтинг: 0 / 0
Сортировка в поле Varchar с текстом
    #38383469
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UadeveloperОтдельное поле сортировки мне не будет удобно, даже я бы сказал затруднительноЗатруднительно для мускуля будет разбирать функцией на лету существующую строку, и по результату разбора делать сортировку. По сути, это будет временная таблица, которая создается при каждом запросе. Гораздо проще при добавлении строки в таблицу заполнить отдельные дополнительные поля, по которым и будет происходить сортировка. По крайней мере, заполнить их придется один раз при добавлении/изменении записи. Это может быть одно поле, два, или более - от структуры строки сильно зависит и от правил сортировки.
...
Рейтинг: 0 / 0
Сортировка в поле Varchar с текстом
    #38383768
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,

вот-вот. Выбор: или делать разбор и сортировку "на лету" или таки добавить поле... мощность работ - одинакова, но в первом случае она будет выполняться каждый запрос, а во втором однажды... я - за добавление поля(ей). :)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сортировка в поле Varchar с текстом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]