Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Mysql Сортировка в ORDER BY

Dada Мастер (1793), на голосовании 9 лет назад
Ребятки выручайте...

Есть таблица со значениями

-2
-5
-4
-7
1
4
6
8
0
0
1

Нужно сделать такую выборку

Сначала положительные, потом 0, а потом уже отрицательные ...тоесть чтоб так было

5
4
3
2
1
0
0
0
-1
-2
-3
-4
Дополнен 9 лет назад
ORDER BY field DESC Выводит следующие данные

+3
+2
+1
0
-3
-2
-1

Это не совсем то что надо...
Нужно сдвинуть наибольшие отрицательные в самый низ
Дополнен 9 лет назад
РЕШЕНО! Благодаря Иллариону! Всему Виной был тип поля - VARCHAR
Голосование за лучший ответ
Imobilazer Искусственный Интеллект (222395) 9 лет назад
Иии? запрос ORDER BY `num` DESC
DESC это сортировка в обратном порядке
DadaМастер (1793) 9 лет назад
Это самое первое что я пробовал...
Получается следующим образом почему то...

2
1
0
-2
-2
-1

А мне нужно

2
1
0
0
-1
-2
Если это действительно так, то это КОСЯЧИЩЕ MySQL, открой им тикет.
Дельфийский Оракул (96062) 9 лет назад
А ты полю, в котором у тебя хранятся значения, укажи тип INT, а не VARCHAR, и тогда ORDER BY DESC будет работать так, как хочется тебе. Сейчас сортировка производится посимвольно, потому что поле строковое.
DadaМастер (1793) 9 лет назад
Илларион! Ты Гений! Спасибо тебе огромное!
3 часа потратил...
Это всё из за моего наплевательского отношения к типам данных (((
Дельфийский Оракул (96062) Да, за соблюдением типов данных нужно следить.
Похожие вопросы