데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

mssql 통계 관련 질문

힘내라김대리 2018.12.10 17:47 Views : 648

안녕하세요. 프로젝트를 진행하다가 궁금한것이 있어 글을 남깁니다.


다른게 아니라 매출 sum 하는 쿼리입니다.


먼저 설명보다는 데이터를 가지고 설명을 하겠습니다.


데이터는 아래와 같이 있습니다.


ID | amount(매출)  |date(날짜) |price(공급가액) |start_dt(계약시작일자) |end_dt(계약종료일자)

AAA |3333.3333 |20180828 |300,000 |20180828 |20181125

AAA |3333.3333 |20180829 |300,000 |20180828 |20181125

AAA |3333.3333 |20180830 |300,000 |20180828 |20181125

AAA |3333.3333 |20180831 |300,000 |20180828 |20181125

AAA |3333.3333 |20180901 |300,000 |20180828 |20181125

AAA |3333.3333 |20180902 |300,000 |20180828 |20181125

AAA |3333.3333 |20180903 |300,000 |20180828 |20181125

AAA |3333.3333 |20180904 |300,000 |20180828 |20181125

.

.

.

.


이렇게 있습니다.

쿼리로 하면 

이 데이터를 월별로 sum을 하면
ID | amount(매출)  |date(날짜0 |price(공급가액) |start_dt(계약시작일자) |end_dt(계약종료일자)
AAA |13,333 |201808 |300,000 |20180828 |20181125
AAA |100,000 |201809 |300,000 |20180828 |20181125
AAA |103,333 |201810 |300,000 |20180828 |20181125
AAA |83,333 |201811 |300,000 |20180828 |20181125

이렇게 나옵니다.

공급가액은 300,000원이고, 원본 data에 내용을 기반으로 amount를 전체 sum 하면 300,000원이 나옵니다.

하지만 월별로 group by로 정렬했을때의 값은 299,999원이 나옵니다.

이럴때 값을 맞춰 줘야합니다.
기존)
ID | amount(매출)  |date(날짜0 |price(공급가액) |start_dt(계약시작일자) |end_dt(계약종료일자)
AAA |83,333 |201811 |300,000 |20180828 |20181125
변경)
ID | amount(매출)  |date(날짜0 |price(공급가액) |start_dt(계약시작일자) |end_dt(계약종료일자)
AAA |83,334 |201811 |300,000 |20180828 |20181125



머리로 생각했을때, 월별로 나온 amount(매출)와(과) price(공급가액)를(을) 비교했을때, price(공급가액) 보다 작으면 1을 더해야 한다.

하지만 쿼리로 작성하기에는 어렵더라구요...

어떻게 해야 할까요?? 
No. Subject Author Date Views
10405 sql 초보 질문요 [1] YHS 2018.12.27 683
10404 mssql 행이 null이면 다음 값 조회 [2] 전람회 2018.12.27 803
10403 두가지 질문을 드립니다... [3] 슈토파이터 2018.12.26 685
10402 WHILE 문 관련질문.. [1] 후알유? 2018.12.24 531
10401 전체백업할 때 데이터 중복저장 되는 문제 [1] 팔개 2018.12.21 607
10400 CSV 파일 Import 시 콤마까지 포함시키는 방법 문의 [1] Seo 2018.12.21 782
10399 데이터베이스 메일 발송 문제. [1] 신가이 2018.12.20 1152
10398 ora-02299 에러 질문드립니다.. [1] 시닙개발자 2018.12.20 696
10397 (세로 컬럼 - 가로 컬럼) SELECT 문) 질문 [2] 배움자세 2018.12.19 684
10396 인덱스열에 여러개넣는것과 1개씩 여러인덱스로나누는게 서로 다른가요 [2] freighter 2018.12.19 675
10395 sql 2017 문의 드립니다. [3] 죠리퐁 2018.12.18 535
10394 Ansi JOIN 과 TSQL JOIN차이가 뭔가요? [1] 초코렛뜨 2018.12.18 740
10393 이중루프쿼리문 수정문의 [1] 초코렛뜨 2018.12.18 600
10392 sa 비밀번호 1분마다 자동 설정 하늘이아빠 2018.12.17 799
10391 SQL 문의 (PIVOT 및 최신 데이타 가져오기) [1] sql바보 2018.12.17 727
10390 SQL 쿼리 관련 질문입니다.. [1] 고구망 2018.12.17 564
10389 쿼리문 합치기 mysql [4] Sol4644 2018.12.14 757
10388 운영 DB READ COMMITTED SNAPSHOT 옵션 적용 [3] 구로동라이더 2018.12.12 821
10387 insert 문 에서 특정 컬럼값들 가져오는방법 문의합니다. [2] 둘리맨 2018.12.12 684
» mssql 통계 관련 질문 [1] 힘내라김대리 2018.12.10 648





XE Login