테스트 사이트 - 개발 중인 베타 버전입니다

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

차가운잎사귀 7년 전 조회 3,547

안녕하세요?

 

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

 

 

주문입니다만..

 

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

 

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

 

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

 

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

 

수고하세요!

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

답변 2개

채택된 답변
+20 포인트
o
7년 전

having 을 이용해 보세요 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

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

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

플래토
7년 전

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

 

where 

status  = 'deposit'

group by token

 

하시면 되지 않을까요?

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

차가운잎사귀
7년 전
답변주셔서감사드립니다.
주문그룹중에 order가 포함되지않은 그룹만 데이터를 가져오는걸원하는데요.
말씀하신 쿼리방법으로는 18072310565609 (order가 포함되있는그룹) 행이 쿼리되네요.
플래토
7년 전
order 라는것이
status 의 값이 아닌가요?

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

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

order를 제외하는것은
단순히

stauts <> 'order'
만 걸어도 됩니다.
차가운잎사귀
7년 전
귀한시간 내주셔서 감사드립니다. 많이 배웠습니다.

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

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

로그인