테이블의 특정 조건의 데이터는 오름차순, 특정 조건의 데이터는 내림차순이 가능할까...
이벤트가 있다.
이벤트 종료일이 10/20 부터 10/30 일 까지가 있다.
오늘이 10/25 일 이라면 이벤트 종료 임박 순서로 나열하고자 때,
10/25 ~ 30 일까지 오름차순, 그 뒤에 10/24 ~ 20 일까지가 내림차순으로 나열되어야 한다.
order by
case when event_edate >= NOW() then event_edate end asc,
case when event_edate < NOW() then event_edate end desc
단순하게 생각하고 쿼리를 날렸더니 다음과 같은 결과가 나왔다.
10/24 ~ 20, 10/25 ~ 30
음... 순서가 지맘대로 나왔군. 저 두 순서만 바꾸면 되겠구나 해서...
order by
case when event_edate < NOW() then event_edate end desc,
case when event_edate >= NOW() then event_edate end asc
했더니만 결과는 같았다 ㅡㅡ
아래처럼 해결...
order by
case when event_edate >= NOW() then 1 else 2 end,
case when event_edate >= NOW() then event_edate + 0 end asc,
case when event_edate < NOW() then event_edate + 0 end desc
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,