mysql order by 질문입니다 정렬조건

mysql order by 질문입니다 정렬조건

QA

mysql order by 질문입니다 정렬조건

답변 2

본문

마지막 order by할때

 

특정 컬럼값이 1이면 id로 정렬

2면 date로 정렬

 

이렇게 하고싶은데요 이게 가능할까요?

이 질문에 댓글 쓰기 :

답변 2

쿼리문만 가지고는 안되고

 

$sql = "select * from tables where ....";

이 있따고 가정하고

특정컬럼값은 $wr_1 로 가정하에 진행합니다.

 

if ($wr_1 == '1')

   $sql2 = " order by id asc ";  // id는 보통 알파벳순

else if ($wr_2 == '2')

   $sql2 = " order by date desc "; // 일자는 보통 최신일자부터..

 

$sql .= $sql2;

 

와 같이 처리가능합니다.


SELECT * FROM xTables WHERE 1 = 1
ORDER BY
(CASE WHEN col1 = 1 THEN col_id
      WHEN col1 = 2 THEN col_date
      ELSE col2 END
) ASC

이런 쿼리를 왜 쓰시는지가 더 궁금하네요

제 짧은 생각에 원하는 Sort 가 될지 의문이 들어서요

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,537
© SIRSOFT
현재 페이지 제일 처음으로