데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
안녕하세요 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
이렇게 간단하게 나오면 되거든요..
이럴경우에는 쿼리를 어떻게 짜야 할까요?
부탁드리겠습니다...
Comment 1
-
건우아빠
2018.05.23 10:43
DECLARE @test AS TABLE([그룹] char(1) ,[날짜] varchar(8) ,[시간] char(2) ,[값] int)insert @testselect 'A' [그룹],'20180522' [날짜],'07' [시간] ,99 [값] union allselect 'A' ,'20180522' ,'08' ,44 VALUE union allselect 'A' ,'20180522' ,'09' ,33 VALUE union allselect 'A' ,'20180522' ,'00' ,33 VALUE union allselect 'B' ,'20180522' ,'07' ,10 VALUE union allselect 'B' ,'20180522' ,'08' ,20 VALUE union allselect 'B' ,'20180522' ,'09' ,30 VALUE union allselect 'C' ,'20180522' ,'07' ,40 VALUE union allselect 'C' ,'20180522' ,'08' ,55 VALUE union allselect 'C' ,'20180522' ,'09' ,77 VALUE union allselect 'C' ,'20180523' ,'00' ,77 VALUEselect 날짜 , sum([값] ) VALUEfrom @testGROUP BY 날짜select 그룹 ,날짜, 시간 , sum([값] ) VALUEfrom @testGROUP BY GROUPING SETS((그룹 ,날짜, 시간) ,(날짜))