Mysql Вопрос по order by

Эдди

Новичок
С Новым годом!

Можно ли каким-либо образом в запросе отсортировать текстовое поле так:
- сначала идут значения по восходящей (ASC)
- а в конеце идут пустые значения?

Или только PHP крутить?

Спасибо!
 

Redjik

Джедай-мастер
я еще так делал - там нет такого варианта, правда я делал с int полем
PHP:
SELECT * FROM table 
ORDER BY position=0, position ASC
ЗЫ. делал давно - план сейчас проверять лень, но теоритечески на большом кол-ве записей этот вариант лучше
 

Эдди

Новичок
я еще так делал - там нет такого варианта, правда я делал с int полем
PHP:
SELECT * FROM table 
ORDER BY position=0, position ASC
ЗЫ. делал давно - план сейчас проверять лень, но теоритечески на большом кол-ве записей этот вариант лучше
Смотри. Делаю так: ORDER BY FIELD( `field` , "NULL" )
Нулевые значения уходят в конец. Но остальные выводятся впермешку. Куда сюда можно засунуть ASC?
 

WMix

герр M:)ller
Партнер клуба
я удалил, чтот недодумал... смотрю сам...
PHP:
ORDER BY find_in_set( `field` , "NULL, not null" ) , `field` ASC
так
 

WMix

герр M:)ller
Партнер клуба
я туплю... не слушай меня... то что я написал можно было написать и просто
PHP:
ORDER BY `field` ASC
а решения кроме union не вижу, чтоб написать наоборот, сначало не нуль по возрастанию а после все нули
 

Эдди

Новичок
я туплю... не слушай меня... то что я написал можно было написать и просто
PHP:
ORDER BY `field` ASC
а решения кроме union не вижу, чтоб написать наоборот, сначало не нуль по возрастанию а после все нули
Да вот я по всякому и пробую. Нихрна не выходит.
Наврно, легче значения с NULL забить в массив и вывести их после непустых значений.
 

WMix

герр M:)ller
Партнер клуба
можно схитрить и написать
PHP:
order by if(`field` is null, 'zzzzzz', `field` ) asc
где 'zzzzzz' максимальное значение, но это так напатчить...
 

Redjik

Джедай-мастер
я написал рабочий вариант, не изобретайте велосипеды =)
 

Эдди

Новичок
я написал рабочий вариант, не изобретайте велосипеды =)
Так у меня запрос с объединениями нескольких таблиц. Там еще и LEFT JOIN.

Честно говоря, ума не приложу, как его видоизменить по приведенным тобой примерам. Не поможешь?
 
Сверху