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

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

QA

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

답변 1

본문

현재 

 

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

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