마지막 order by할때
특정 컬럼값이 1이면 id로 정렬
2면 date로 정렬
이렇게 하고싶은데요 이게 가능할까요?
|
답변 2개 / 댓글 1개
채택된 답변
+20 포인트
2018-02-20 (화) 15:36:45
쿼리문만 가지고는 안되고
$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개
Policia
2018-02-20 (화) 15:42:59
logos
2018-02-20 (화) 19:33:54
Copy
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 가 될지 의문이 들어서요
답변을 작성하려면 로그인이 필요합니다.
결과값이 한곳에 나오는걸 원해서 흐으으음 다시 생각해봐야겠네요
답변감사합니다