mysql 정렬질문
본문
여분필드 wr_1에 생일을 입력하였습니다.
년도/월/일/시간
1999/01/17/12
1999/02/18/23
..
..
..
2020/09/26/19
2020/09/28/18
이런식으로 되있는데
오늘보다 생일이 안지난 사람부터 생일순으로 정렬하고 밑으로는 생일이 지난순으로 정렬을 하고 싶은데 order by ~~~ 이런식으로 하는거 같은데 잘 모르겠네요...
어떤식으로 mysql을 해야될나요?
미리 감사합니다.
답변 4
SELECT 컬럼1, 컬럼2, 날짜컬럼,
CASE
WHEN 날짜 <= DATE_FORMAT(NOW(), '%Y/%m/%d/%h') THEN 1
ELSE 2
END date_sort
FROM 테이블
ORDER BY date_sort, 날짜컬럼
테스트 하지는 않았지만 이렇게 처리하면 될 것 같습니다.
!-->쿼리 두게 만들어서 UNION 써야 하지 않을까 싶습니다.
다른 정렬과 조건의 쿼리로요.
두가지인데요
각 쿼리를날리고 배열로 담는 방법이 있구요
union all 로 쿼리에서 합치는 방법입니다
생일이 안지난 사람부터 생일순으로 정렬하고 밑으로는 생일이 지난순으로 정렬<--
이 말 뜻은 생일 안 지난 사람은 앞쪽에 오름차순으로 나오고
생일 지난 사람은 뒤쪽에 내림차순으로 정렬 하고싶다는 것인가요?
앞으로는 이렇게 질문자체를 남이 알아먹기 쉽도록 하세요
그게 아니라면 독구파랑님 답변처럼 하되 아래처럼 바꾸어서 하면 됩니다
THEN 1 ELSE 2 ==> THEN 2 ELSE 1
답변을 작성하시기 전에 로그인 해주세요.