본문 바로가기
MySql

MySQL 날짜 열에 대한 MySQL 조건부 ORDER BY ASC / DESC

by 베이스 공부 2021. 2. 10.
반응형

datetime 필드에 대한 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;

이 작업을 수행하는 방법에 대한 힌트가 있습니까? 감사!

 

해결 방법

 

이 시도:

ORDER BY post_status ASC,
CASE post_status WHEN 'future' THEN POST_DATE END ASC,
CASE WHEN post_status <> 'future' THEN post_date END DESC

 

참조 페이지 https://stackoverflow.com/questions/10626363

 

 

반응형

댓글