Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сортировка сначала по одному условию, а потом по-другому / 9 сообщений из 9, страница 1 из 1
13.02.2014, 14:25:03
    #38559857
Уася
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка сначала по одному условию, а потом по-другому
Подскажите какие есть способы сортировки для моего решения.
У меня список городов и поселков.
д. Хутор
Ливан
пос. Мирово
Минск
Литва
д. Васильки

Мне нужно сначала отсортировать города от А до Я, а потом уже поселки и т.д. (потом все что содержит до точки префиксы)
Должно быть так:

Ливан
Литва
Минск
д. Хутор
д. Васильки
пос. Мирово
...
Рейтинг: 0 / 0
13.02.2014, 14:29:32
    #38559864
Сортировка сначала по одному условию, а потом по-другому
нужно чтобы тип населенного пункта был отдельным от имени полем. тогда по нему (или CASE-ом от него) и сортировать.
...
Рейтинг: 0 / 0
13.02.2014, 14:41:02
    #38559885
Уася
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка сначала по одному условию, а потом по-другому
Добрый Э - Эх,
отдельным нельзя! меня ничего нельзя!

попробую ORDER BY FIELD (первое условие, второе);
но у кого есть идею пишите
...
Рейтинг: 0 / 0
13.02.2014, 14:56:46
    #38559906
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка сначала по одному условию, а потом по-другому
можно попробовать такой костыль:
Код: sql
1.
ORDER BY LOCATE('.', townname), townname
...
Рейтинг: 0 / 0
13.02.2014, 15:13:19
    #38559934
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка сначала по одному условию, а потом по-другому
поправка:miksoftможно попробовать такой костыль:
Код: sql
1.
ORDER BY SIGN(LOCATE('.', townname)), townname
...
Рейтинг: 0 / 0
13.02.2014, 15:28:31
    #38559949
Уася
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка сначала по одному условию, а потом по-другому
Огромное Спасибо!
вот плин, все оказалось просто и гениально))
...
Рейтинг: 0 / 0
13.02.2014, 15:32:45
    #38559955
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка сначала по одному условию, а потом по-другому
Cygapb-007,

а что изменит SIGN с учетом того, что вторым полем в ORDER BY идет имя, которое все равно поставит деревни впереди поселков ?
...
Рейтинг: 0 / 0
13.02.2014, 16:10:33
    #38560030
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка сначала по одному условию, а потом по-другому
miksoftCygapb-007,

а что изменит SIGN с учетом того, что вторым полем в ORDER BY идет имя, которое все равно поставит деревни впереди поселков ?locate дает номер позиции в строке - с.Село <2,с> будет перед дер.Деревня <4,д>, хотя лексически должно быть наоброт...
или я напутал?))
...
Рейтинг: 0 / 0
13.02.2014, 16:18:59
    #38560055
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка сначала по одному условию, а потом по-другому
Cygapb-007miksoftCygapb-007,

а что изменит SIGN с учетом того, что вторым полем в ORDER BY идет имя, которое все равно поставит деревни впереди поселков ?locate дает номер позиции в строке - с.Село <2,с> будет перед дер.Деревня <4,д>, хотя лексически должно быть наоброт...
или я напутал?))Я неявно полагал, что одно понятие сокращается одинаково. Т.е. деревня - это всегда "д.". Но, конечно, гарантии этого никакой нет. Да, пожалуй с SIGN будет лучше.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сортировка сначала по одному условию, а потом по-другому / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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