날짜별 합계인데 시간이 다른건 어떻게 해야 하나요.... 0 1 675

by 외노자 [SQL Query] [2018.05.23 09:07:36]


안녕하세요 DB 초짜 입니다.

도움 부탁드릴께요..

 

 

그룹 날짜 시간 VALUE

A 20180522 07 99

A 20180522 08 44

A 20180522 09 33

.

.

A 20180522 0 33

B 20180522 07 10

B 20180522 08 20

B 20180522 09 30

.

.

 

C 20180522 07 40

C 20180522 08 55

C 20180522 09 77

.

.

C 20180523 00 77

 

이렇게 데이터가 있습니다!

 

이걸 A,B 그룹을 합쳐서 날짜별 합계를 내야 하는데

 

합계를 내야 하는 날이 어제 아침 7시부터 오늘 아침 7시 까지예요...

 

결과는 

20180522 999

20180523 485

이렇게 간단하게 나오면 되거든요..

 

이럴경우에는 쿼리를 어떻게 짜야 할까요?

 

부탁드리겠습니다...

by 마농 [2018.05.23 09:38:04]

날짜 컬럼의 타입이 date 이고
어제 7시부터 오늘 7시까지 합계를 어제날짜 기준으로 뽑는다고 가정하면.
날짜 컬럼에서 7시간을 뺀 뒤 일자별합계를 구하면 됩니다.
 

SELECT gb
     , TO_CHAR(dt - 7/24, 'yyyymmdd') ymd
     , SUM(v) v
  FROM t
 GROUP BY gb, TO_CHAR(dt - 7/24, 'yyyymmdd')
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입