CASE WHEN ORDER BY 각각 오름 내림차순
SELECT *,
CASE WHEN vs_lv = {$vs_lv} AND vs_id={$member['mb_id']} AND vs_win = '' THEN 1
WHEN vs_lv = {$vs_lv} AND vs_win = '' THEN 2
WHEN vs_lv = {$vs_lv} THEN 3
ELSE 4 END AS ord1
FROM vsgababo
ORDER BY ord1 ASC, vs_datetime DESC LIMIT {$lim_start} , {$lim}
위와 코드에서 1과 2는 vs_datetime ASC 정렬 3은 vs_datetime DESC로 정렬하고 싶은데
어떻게 해야할지 아무리 이리저리 해봐도 원하는 답을 못찾았습니다.
답변 2개 / 댓글 3개
Select * from ( order by 없는 기존 query) A order by ord1
아니면
SELECT *,
CASE WHEN vs_lv = {$vs_lv} AND vs_id={$member['mb_id']} AND vs_win = '' THEN 1
WHEN vs_lv = {$vs_lv} AND vs_win = '' THEN 2
WHEN vs_lv = {$vs_lv} THEN 3
ELSE 4 END AS ord1
FROM vsgababo
ORDER BY
CASE WHEN vs_lv = {$vs_lv} AND vs_id={$member['mb_id']} AND vs_win = '' THEN 1
WHEN vs_lv = {$vs_lv} AND vs_win = '' THEN 2
WHEN vs_lv = {$vs_lv} THEN 3
ELSE 4 END
ASC, vs_datetime DESC LIMIT {$lim_start} , {$lim}
답변에 대한 댓글 2개
SELECT *,
CASE WHEN vs_lv = {$vs_lv} AND vs_id={$member['mb_id']} AND vs_win = '' THEN 1
WHEN vs_lv = {$vs_lv} AND vs_win = '' THEN 2
WHEN vs_lv = {$vs_lv} THEN 3
ELSE 4 END AS ord1
FROM vsgababo
) A
ORDER BY ord1 ASC, vs_datetime DESC LIMIT {$lim_start} , {$lim}
답변을 작성하려면 로그인이 필요합니다.
혹시 알려주신 Select * from ( order by 없는 기존 query) A order by ord1 를 조금더 상세히 알려주실수 없을까요. 어떤 방법인지 공부좀 해보게요