group by 로 묶었을때와 안묶었을때...

group by 로 묶었을때와 안묶었을때...

QA

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}'

결과값

989889026_1651110754.8284.png

 

 

묶었을때


        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로 묶었을때도 같은 값, 행렬만 다름) 

989889026_1651110908.2114.png

 

 

결론적으로 맞는 값은 그룹으로 묶었을때 나오는 값이 맞는 값입니다.

 

그룹으로 묶었을때와 묶지 않았을때 값이 차이나는 이유가 무엇을까요?

카운트 값은 동일한데...

구글링을 해서 찾아보고 있는데..

 

결과값이 달라지는 이유를 모르겠습니다.

 

 

그룹으로 묶지 않았을때도 정상적인 값이 나오게 할려면 어떻게 해야 하나요?

이 질문에 댓글 쓰기 :

답변 3

총금액이 다르다는 말씀이신가요?

 

쿼리 결과를 엑셀로 따로 만들어서 확인해보시는게 좋겠네요

15 이후에 안나오는건 다른문제 같습니다.
일단 서버쪽에서 쿼리 결과가 제대로 나오는지 확인해서
보내는쪽에서 잘랐는지 받는쪽에서 못받았는지 부터 확인해야 겠네요

group by가 있을 때 나오는 거하고

없을 때 나오는 것하고 다른 것이 당연한데

이걸 같게 나오게 하고 싶다는 것을 이해 못하겠네요.

query 문 자체만 질문하지 마시고

 

엑셀(표)를 보여 주시고 원하시는 결과를 설명하시고

query문을 질문하시는 것이 좋겠습니다.

제가 설명을 잘 못한듯 합니다. 죄송합니다.
똑같은 쿼리문에 하나는 그룹으로 묶고 하나는 안묶었는데
위에 보시는 것처럼(이미지) 쿼리 결과값이 달라서 왜 달라지는지 궁금해서 질문드렸습니다.

group 으로 안묶었을때

thumb-989889026_1651113742.2152_730x124.png

 

 

group 으로 묶었을때

thumb-989889026_1651113929.0379_730x198.png

 

두개를 돌렸을때 쿼리결과값이 위처럼 나오네요.

안묶었을때 마지막 값을 보면 15가 나오는데.. 아래의 빨간칸 다음값부터 나오질 않습니다. 

15500부터 나오질 않네요..

 

왜 저런 결과값이 나오는지.. 어떻게 하면 안묶었을때도 묶었을때처럼 값이 나올수 있는지가 궁금합니다.

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

회원로그인

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