채택완료
sql 그룹후 order값이 포함되있으면 해당그룹은 집계에서 빼도록하는 방법이 있을까요?
안녕하세요?
그누보드 테이블은 아닌데요.

주문입니다만..
우선 토큰으로 주문그룹을 묶고요.
deposit 로만 채워진 그룹만 결과값으로 가져오고싶습니다.
만약 위 테이블 기준으로 가져올 그룹은 18072313310105 행하나만 가져오고싶습니다.
그룹으로 쿼리한후 해빙으로 처리할까했는데.. 쉽지않네요.
수고하세요!
답변 2개 / 댓글 5개
채택된 답변
+20 포인트
onlymilk47
2018-07-23 (월) 15:59:33
having 을 이용해 보세요
select sum( IF(status='order', 1,0) ) as cnt , ... 기타 그룹내용
from 게시판명
group by token
having cnt=0
답변에 대한 댓글 2개
차가운잎사귀
2018-07-24 (화) 08:26:45
2018-07-23 (월) 13:37:12
제가 질문을 잘 이해한것인지는 잘 모르겠으나
where
status = 'deposit'
group by token
하시면 되지 않을까요?
답변에 대한 댓글 3개
차가운잎사귀
2018-07-23 (월) 14:10:36
답변주셔서감사드립니다.
주문그룹중에 order가 포함되지않은 그룹만 데이터를 가져오는걸원하는데요.
말씀하신 쿼리방법으로는 18072310565609 (order가 포함되있는그룹) 행이 쿼리되네요.
주문그룹중에 order가 포함되지않은 그룹만 데이터를 가져오는걸원하는데요.
말씀하신 쿼리방법으로는 18072310565609 (order가 포함되있는그룹) 행이 쿼리되네요.
2018-07-23 (월) 14:23:23
order 라는것이
status 의 값이 아닌가요?
where 절 에서 status = 'deposit' 만 걸었는데
다른게 포함된다면
테이블의 설계를 재검토해 보셔야 할거 같습니다.
order를 제외하는것은
단순히
stauts <> 'order'
만 걸어도 됩니다.
status 의 값이 아닌가요?
where 절 에서 status = 'deposit' 만 걸었는데
다른게 포함된다면
테이블의 설계를 재검토해 보셔야 할거 같습니다.
order를 제외하는것은
단순히
stauts <> 'order'
만 걸어도 됩니다.
답변을 작성하려면 로그인이 필요합니다.
몇일을 여기저기 쿼리문 시도해봐도 해결을 못했는데..
덕분에 그룹으로 쿼리해서 order가 포함되있으면 건너띄는 지저분한 로직으로 일단 해결은 봤었는데.. 이걸로 아주 심플한 로직 짤수있겠네요..
정상적으로 원하는 쿼리결과값을 보고 얼마나 마음을 쓸어않았는지..
복많이받으세요. 혹시라도 나중에 쿼리문 도움이 필요하면 약소하지만 수고비준비해서 의뢰할게요.