MySQL condicional ORDER BY ASC / DESC para coluna de data
Eu preciso de uma instrução ORDER BY condicional do MySQL para um campo de data e hora. Eu tenho uma tabela com posts que gostaria de pedir da seguinte maneira:Postagens futuras deve ser encomendadoASC e tudoposts históricos encomendadoDESC. Por exemplo.:
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
Eu preciso de algo semelhante ao seguinte 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;
Alguma dica de como fazer isso? Obrigado!