Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сортировка по алфавиту
 
 автор: Vitaleks   (15.06.2010 в 23:20)   письмо автору
 
 

Добрый вечер.
Поставили мне задачку сделать сортировку названий фирм в алфавитном порядке с небольшим нюансом: в начале списка идут все русские (на кириллице) названия фирм, после зарубежные (на латинке)...
ORDER BY DESC не предлагать т.к нужен порядок вида : А Б В... Я ; A B C ... Z

  Ответить  
 
 автор: вред   (15.06.2010 в 23:47)
 
   для: Vitaleks   (15.06.2010 в 23:20)
 

ORDER BY if( substring( `firm` , 1, 1 ) BETWEEN 'а' AND 'я', 0, 1 ) , `firm` 


Если по хорошему, то значение "if( substring( `firm` , 1, 1 ) BETWEEN 'а' AND 'я', 0, 1 )" при вставке данных должно записываться в отдельную колонку `order` и нужно добавить составной индекс (`order`,`firm`). Тогда сортировка будет такая:

ORDER BY `order`, `firm` 

  Ответить  
 
 автор: Trianon   (15.06.2010 в 23:51)   письмо автору
 
   для: вред   (15.06.2010 в 23:47)
 

к сожалению, тут возможен конфуз. С названиями вроде "7-й континент"

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования