Общие > Базы данных

Глючная сортировка

(1/3) > >>

xRUSha:
У меня в базе есть поле (name), в котором записано 2 слова - имя и фамилия (структуру таблиц писал не я). Так вот, мне нужно сделать сортировку по алфовиту, но чтобы сортировались не  по имени (order by name) второму слову - т.е. фамилии. Возмжно ли замутить такую сортировку?

nobody:
Возможно, просто загони это все в масив (PHP) потом отреж все что стоит до пробела "%20" и его самого и сортируй как хочешь :))

FILA:
Ну, если этот твой name разделён пробелом, то определяешь позицию пробела:

LOCATE(\' \',name)

потом используешь

SUBSTRING (name, LOCATE(\' \',name)+1)

потом делаешь сортировку

ORDER BY SUBSTRING (name, LOCATE(\' \',name)+1)

за правильность не ручаюсь, попробуй-поиграйся....

НО. ИМХО. ЭТО ИЗВРАТ!............... :)

xRUSha:
nobody

--- Цитировать --- загони это все в масив
--- Конец цитаты ---

массивом не хочу, т.к. записей довольно много должно получатся, а нужно, чтоб сразу из базы нужные доставались.

FILA

--- Цитировать ---ORDER BY SUBSTRING (name, LOCATE(\' \',name)+1)

--- Конец цитаты ---

во, это похоже то что нужно, попробую

Макс:

--- Цитировать ---ORDER BY SUBSTRING (name, LOCATE(\' \',name)+1)
--- Конец цитаты ---
хм, насколько я помню мускуль не поддерживает индекс по результату выполнения функции поэтому тормозить будет.
Добавь 2 поля и скрипт напиши который в одно запишет имя, во второе фамилию

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии