sql 그룹후 order값이 포함되있으면 해당그룹은 집계에서 빼도록하는 방법이 있을까요?

sql 그룹후 order값이 포함되있으면 해당그룹은 집계에서 빼도록하는 방법이 있을까요?

QA

sql 그룹후 order값이 포함되있으면 해당그룹은 집계에서 빼도록하는 방법이 있을까요?

본문

안녕하세요?

 

그누보드 테이블은 아닌데요.

 

1925979146_1532320251.0432.png

 

주문입니다만..

 

우선 토큰으로 주문그룹을 묶고요.

 

deposit 로만 채워진 그룹만 결과값으로 가져오고싶습니다.

 

만약 위 테이블 기준으로 가져올 그룹은  18072313310105 행하나만 가져오고싶습니다.

 

그룹으로 쿼리한후 해빙으로 처리할까했는데..  쉽지않네요.

 

수고하세요!

이 질문에 댓글 쓰기 :

답변 2

having 을 이용해 보세요 

select sum( IF(status='order', 1,0) ) as cnt , ... 기타 그룹내용
from 게시판명
group by token 
having cnt=0 

감사합니다. 정확한 답변을 주셨습니다.
몇일을 여기저기 쿼리문 시도해봐도 해결을 못했는데..
덕분에 그룹으로 쿼리해서 order가 포함되있으면 건너띄는 지저분한 로직으로 일단 해결은 봤었는데.. 이걸로 아주 심플한 로직 짤수있겠네요..
정상적으로 원하는 쿼리결과값을 보고 얼마나 마음을 쓸어않았는지..
복많이받으세요. 혹시라도 나중에 쿼리문 도움이 필요하면 약소하지만 수고비준비해서 의뢰할게요.

제가 질문을 잘 이해한것인지는 잘 모르겠으나

 

where 

status  = 'deposit'

group by token

 

하시면 되지 않을까요?

 

 

답변주셔서감사드립니다.
주문그룹중에 order가 포함되지않은 그룹만 데이터를 가져오는걸원하는데요.
말씀하신 쿼리방법으로는 18072310565609 (order가 포함되있는그룹) 행이 쿼리되네요.

order 라는것이
status 의 값이 아닌가요?

where 절 에서 status = 'deposit' 만 걸었는데
다른게 포함된다면

테이블의 설계를 재검토해 보셔야 할거 같습니다.

order를 제외하는것은
단순히

stauts <> 'order'
만 걸어도 됩니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,634 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT