Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MySQL сортировка по значениям в 2 полях

10K
08 сентября 2006 года
Dennn
46 / / 23.08.2006
Есть поле1 и поле2, в поле1 содержится нтервал цифровых значений например от 1 до 3, а в поле2 содержится интервал букв всего алфавита.
Надо произвести SELECT из таблица, чтобы вначале отсортировать выбранные ряда по полю1=3 и они сортируются между собой по алфавиту по значению поля2, затем ряды со значением поле1=2 и они сортируются по алфавиту, по полю2 и т.д.
Насколько я знаю при использовании ORDER BY нельзя пользоваться большими конструкциями, а можно только указать по какому конкретно полю будет сортировка.
Я только додумался до такого:
 
Код:
(SELECT * FROM tablica WHERE pole1=3 ORDER BY pole2)
UNION
(SELECT * FROM tablica WHERE pole1=2 ORDER BY pole2)
UNION
(SELECT * FROM tablica WHERE pole1=1 ORDER BY pole2)

А если цифровых значений в поле1 значительно больше, может есть более простой метод?
16K
08 сентября 2006 года
Бян
43 / / 05.09.2006
SELECT * FROM `table` ORDER BY `pole1`, `pole2` DESC
или наоборот, точно не помню))
SELECT * FROM `table` ORDER BY `pole1` DESC, `pole2`
10K
08 сентября 2006 года
Dennn
46 / / 23.08.2006
Спа, работает:
1)SELECT * FROM `table` ORDER BY `pole1`, `pole2` DESC
2)SELECT * FROM `table` ORDER BY `pole1` DESC, `pole2`
в первом случаем он отсортирует по полю1 по возрастанию чисел и по полю 2 по убыванию алфавита. А во втором случае он отсортирует как нужно, по убывания чисел поля1 и по возрастанию алфавита поля2
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог