Можно создать дубликат:
Can you add “IF” statement in PHP MYSQL ORDER BY?MySQL: Как использовать IF условие ORDER
Как я могу использовать IF условие ORDER в MySQL?
Например, мой запрос ниже, возвращает ошибку,
SELECT *
FROM page AS p
WHERE p.parent_id != p.page_id
AND p.type = 'post'
AND p.parent_id = '7'
IF(
'date created' = 'date created',
ORDER BY p.created_on DESC,
ORDER BY p.created_on ASC
)
сообщение,
1064 - У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «IF (« дата создана »=« дата создана », ORDER BY p.created_on DESC, ORDER BY стр. 'по строке 17
Первый 'дата создания' является переменной. Таким образом, если 'date created' = 'date created'
,
затем ORDER BY p.created_on DESC
еще ORDER BY p.created_on ASC
нашел ответ здесь: http://stackoverflow.com/questions/3550942/can-you-add-if-statement-in-php-mysql-order- от – laukok
Ваш вопрос неоднозначен, у меня сложилось впечатление, что вы задаете вопрос о том, как динамически упорядочить направление, как мы можем видеть из вашего вопроса, оба условия true и false совпадают с created_on, и они различаются только по направлению сортировки (DESC vs ASC) , В следующий раз сделайте свой вопрос свободным от двусмысленности –