MySQL условное ORDER BY ASC/DESC для столбца даты

Мне нужен условный оператор MySQL ORDER BY для поля даты и времени. У меня есть таблица с сообщениями, которые я хотел бы упорядочить следующим образом: все будущие сообщениядолжны быть упорядочены ASCи все исторические сообщенияупорядочены DESC. Например:

post_status     post_date     post_title
===========     =========     ==========
future          2012-10-01    Title 1
future          2012-12-01    Title 2
publish         2012-05-01    Title 3
publish         2012-01-01    Title 4

Мне нужно что-то похожее на следующий SQL...

SELECT post_status, post_date, post_title FROM wp_posts
WHERE post_status IN ('future', 'publish')
ORDER BY post_status ASC,
 CASE post_status 
  WHEN 'future' THEN 'post_date ASC'
  ELSE 'post_date DESC'
 END;

Любые подсказки о том, как это сделать? Спасибо!

7
задан Mike 16 May 2012 в 20:39
поделиться