Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > union and order - вопрос


Автор: fMichail 5.3.2013, 10:01
Здравствуйте, у меня задача: Вывести из таблицы сначала материалы которые "избранные", т.е закрепленные вверху страницы. а потом все остальные материалы, при этом остальные материалы сортируются по дате - последние выводятся первыми.

Я незнаю как это сделать правильно, пока-что сделал так:

Код

        SELECT 99999999 as id, `#__helloworld`.`favorite` as favorite, `#__helloworld`.`greeting` as title,`#__helloworld`.`materials` as materials from #__helloworld
        where catid='".$id."' and favorite=1
        union
        SELECT `#__helloworld`.`id` as id, `#__helloworld`.`favorite` as favorite, `#__helloworld`.`greeting` as title,`#__helloworld`.`materials` as materials from #__helloworld where catid='".$id."' and favorite=0 
         ORDER BY id DESC
        ";


Какие могут быть ещё варианты?

Автор: baldina 5.3.2013, 10:43
Код

ORDER BY favorite DESC, date DESC

Автор: fMichail 5.3.2013, 11:50
baldina, спасибо большое!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)