테스트 사이트 - 개발 중인 베타 버전입니다

mysql order by 질문입니다 정렬조건 채택완료

Policia 7년 전 조회 3,254

마지막 order by할때

 

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

2면 date로 정렬

 

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

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
플래토
7년 전

쿼리문만 가지고는 안되고

 

$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;

 

와 같이 처리가능합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

P
Policia
7년 전
쿼리문만 가지고는 힘들군요..

결과값이 한곳에 나오는걸 원해서 흐으으음 다시 생각해봐야겠네요

답변감사합니다

댓글을 작성하려면 로그인이 필요합니다.

l
7년 전

</p>

<p>SELECT * FROM xTables WHERE 1 = 1

ORDER BY

(CASE WHEN col1 = 1 THEN col_id

      WHEN col1 = 2 THEN col_date

      ELSE col2 END</p>

<p>) ASC</p>

<p>

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

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

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인