Общие > Базы данных
Глючная сортировка
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 поля и скрипт напиши который в одно запишет имя, во второе фамилию
Навигация
Перейти к полной версии