group by 로 묶었을때와 안묶었을때...
본문
안묶었을때
select SUBSTRING(wr_29,1,7) as od_date, mb_id, group_concat(wr_32 separator '||') wr_32, group_concat(wr_33 separator '||') wr_33, group_concat(wr_40 separator '||') wr_40, count(*) as cnt
from {$write_table}
where SUBSTRING(wr_29,1,7) between '{$stxs11}' and '{$stxs22}'
결과값
묶었을때
select SUBSTRING(wr_29,1,7) as od_date, mb_id, group_concat(wr_32 separator '||') wr_32, group_concat(wr_33 separator '||') wr_33, group_concat(wr_40 separator '||') wr_40, count(*) as cnt
from {$write_table}
where SUBSTRING(wr_29,1,7) between '{$stxs11}' and '{$stxs22}'
group by od_date
결과값 (mb_id로 묶었을때도 같은 값, 행렬만 다름)
결론적으로 맞는 값은 그룹으로 묶었을때 나오는 값이 맞는 값입니다.
그룹으로 묶었을때와 묶지 않았을때 값이 차이나는 이유가 무엇을까요?
카운트 값은 동일한데...
구글링을 해서 찾아보고 있는데..
결과값이 달라지는 이유를 모르겠습니다.
그룹으로 묶지 않았을때도 정상적인 값이 나오게 할려면 어떻게 해야 하나요?
!-->!-->답변 3
총금액이 다르다는 말씀이신가요?
쿼리 결과를 엑셀로 따로 만들어서 확인해보시는게 좋겠네요
group by가 있을 때 나오는 거하고
없을 때 나오는 것하고 다른 것이 당연한데
이걸 같게 나오게 하고 싶다는 것을 이해 못하겠네요.
query 문 자체만 질문하지 마시고
엑셀(표)를 보여 주시고 원하시는 결과를 설명하시고
query문을 질문하시는 것이 좋겠습니다.
group 으로 안묶었을때
group 으로 묶었을때
두개를 돌렸을때 쿼리결과값이 위처럼 나오네요.
안묶었을때 마지막 값을 보면 15가 나오는데.. 아래의 빨간칸 다음값부터 나오질 않습니다.
15500부터 나오질 않네요..
왜 저런 결과값이 나오는지.. 어떻게 하면 안묶었을때도 묶었을때처럼 값이 나올수 있는지가 궁금합니다.
답변을 작성하시기 전에 로그인 해주세요.