게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
mysql 에서 원하는 출력을 뽑고 싶은데 방법이 잡히질 않습ㄴ니다
게시물ID : programmer_11605짧은주소 복사하기
작성자 : 문식이당
추천 : 0
조회수 : 461회
댓글수 : 7개
등록시간 : 2015/06/25 13:42:40
옵션
  • 본인삭제금지
좀전에 union all 에대해 질문을 올렸습니다.
order by 문제로 해결이 되지 않아 다른 방법을 써볼려고 합니다.
제가 원했던 출력에 대해 설명해 드리겠습니다.


1.  컬럼 a : 1  , 컬럼 b : 0
2.  컬럼 a : 3  , 컬럼 b : 1
3.  컬럼 a : 2  , 컬럼 b : s
4.  컬럼 a : 8  , 컬럼 b : 0
5.  컬럼 a : 5  , 컬럼 b : s
6.  컬럼 a : 9  , 컬럼 b : s
7.  컬럼 a : 7  , 컬럼 b : 1
8.  컬럼 a : 4  , 컬럼 b : 0
9.  컬럼 a : 6  , 컬럼 b : 0

이렇게 테이블에 데이터가 들어 있습니다. 여기서 b컬럼 기준으로 순서를
s -> 1 -> 0 으로 하고 싶습니다.

1.  컬럼 a : 2  , 컬럼 b : s
2.  컬럼 a : 5  , 컬럼 b : s
3.  컬럼 a : 9  , 컬럼 b : s
4.  컬럼 a : 3  , 컬럼 b : 1
5.  컬럼 a : 7  , 컬럼 b : 1
6.  컬럼 a : 1  , 컬럼 b : 0
7.  컬럼 a : 8  , 컬럼 b : 0
8.  컬럼 a : 4  , 컬럼 b : 0
9.  컬럼 a : 6  , 컬럼 b : 0

이렇게 출력이 나왔습니다. 그다음에는 a컬럼을 높은순으로 하고 싶은데 여기서 
b컬럼이 s 인거 끼리 , 1인거끼리 0인거끼리 높은순으로 매기고 싶습니다.

1.  컬럼 a : 9  , 컬럼 b : s
2.  컬럼 a : 5  , 컬럼 b : s
3.  컬럼 a : 2  , 컬럼 b : s
4.  컬럼 a : 7  , 컬럼 b : 1
5.  컬럼 a : 3  , 컬럼 b : 1
6.  컬럼 a : 8  , 컬럼 b : 0
7.  컬럼 a : 6  , 컬럼 b : 0
8.  컬럼 a : 4  , 컬럼 b : 0
9.  컬럼 a : 1  , 컬럼 b : 0

이게 제가 최종적으로 얻고 싶은 결과 물입니다... 이걸 하고 싶은데 제가 할 수 있는생각으론 union all을 이요하여

select * from aaa where b = 's' order by a desc   // b가 s이면서  a값이 큰순서
union all
select * from aaa where b = '1' order by a desc   // b가 1이면서  a값이 큰순서
union all
select * from aaa where b = '0' order by a desc   // b가 0이면서  a값이 큰순서

이걸 생각 했으나 order by 문제로 union all이 먹히지 않아 고전하고 있습니다;;
저 과정에 출력을 얻고 싶은데 union all 말고 다른 방법이 있을까요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호