my sql order by 정렬 질문드립니다. 고수님들 도와주세요..

2015-02-24 (화) 03:07:18 2,814

현재 

select * from member_info where approval='1' order by status desc 

이런식으로 사용하고있습니다.

status 는 회원등급

approval 는 가입승인 여부

regdate 는 가입일자 입니다.

위 명령을 실행할 경우

--------------------------------------------

idx ㅣ id ㅣ approval ㅣ status ㅣ regdate

3 ㅣ id3 ㅣ 1 ㅣ 3 ㅣ 2015-02-22

4 ㅣ id4 ㅣ 1 ㅣ 3 ㅣ 2015-02-21

6 ㅣ id6 ㅣ 1 ㅣ 3 ㅣ 2015-02-24

7 ㅣ id7 ㅣ 1 ㅣ 2 ㅣ 2015-02-29

5 ㅣ id5 ㅣ 1 ㅣ 2 ㅣ 2015-02-26

9 ㅣ id9 ㅣ 1 ㅣ 1 ㅣ 2015-02-23​

2 ㅣ id2 ㅣ 1 ㅣ 1 ㅣ 2015-02-22

--------------------------------------------

이렇게 정렬이 되는데요

제가 하려고자 하는 정렬은

status 를 먼저 정렬합니다. 3-2-1 그후 regdate 를 또한번 정렬하는데

status 마다 정렬을 해주려고합니다. 제가원하는 정렬의 예시는

--------------------------------------------

idx ㅣ id ㅣ approval ㅣ status ㅣ regdate

4 ㅣ id4 ㅣ 1 ㅣ 3 ㅣ 2015-02-21

3 ㅣ id3 ㅣ 1 ㅣ 3 ㅣ 2015-02-22

6 ㅣ id6 ㅣ 1 ㅣ 3 ㅣ 2015-02-24

5 ㅣ id5 ㅣ 1 ㅣ 2 ㅣ 2015-02-26

7 ㅣ id7 ㅣ 1 ㅣ 2 ㅣ 2015-02-29

2 ㅣ id2 ㅣ 1 ㅣ 1 ㅣ 2015-02-22

9 ㅣ id9 ㅣ 1 ㅣ 1 ㅣ 2015-02-23​

--------------------------------------------

 

이런식입니다. order by status desc, regdate asc 를 사용해보면

status=3 값밖에 정렬이안되고 2와 1이 보여지질 않더라구요

위와같이 한가지를 정렬하면서 그안에서 또 다른값으로 정렬을 또하려면 어떻게 처리해야하나요?

status 를 오름차순으로 정렬한다.

status=3 따로 regdate 내림차순 정렬

status=2 따로 regdate 내림차순 정렬

status=1 따로 regdate 내림차순 정렬

이렇게 하려고 합니다. 도와주세요 ㅠㅠ

|

답변 1개

2015-02-24 (화) 10:35:36
ORDER BY status DESC, regdate ASC

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