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

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

1개의 테이블 : T

컬럼 : rsd_id , time(date 타입), power

 

데이터가 너무 많아 예를 들어 간략하게)

 

rsd_id / time / power

100101010001           2016/08/01 00:00:00               120

100101010001           2016/08/01 00:30:00               137

100101010001           2016/08/01 01:00:00               148

100101010001           2016/08/01 01:30:00               162

-

-

100101010001           2016/08/01 11:30:00               267

100101010001           2016/08/02 00:00:00               278

100101010001           2016/08/02 00:30:00               283

-

-

100101010002           2016/08/01 00:00:00              341

100101010002           2016/08/01 00:30:00              347

100101010002           2016/08/01 01:00:00              354

-

-

 

100101010002           2016/08/01 11:30:00              382

100101010002           2016/08/02 00:00:00               388

100101010002           2016/08/02 00:30:00               397

-

-

-

....................

이런식으로 앞에 1001이 붙고 뒷자리가 다른 아이디가 수백개 있고

시간은 30분간격으로 사용량 정보를 DB로 가져옵니다.

power 값이 0으로 못받아 올때도 있고요.

 

 

제가 궁금한건

 

100101010001 이 8월 1일 사용한량을 구하고 싶습니다.

그래서

8월 2일 사용한 power 중 최댓값 - 8월 1일 사용한 power값

으로 8월 1일 사용량을 구하고자합니다.

( ex: id  1번은 278-120 = 158 이 나와야하고

2번은 388 - 341 = 47 이 나와야겠죠..)

 

 

 

 

저 나름대로 머리굴려서 사용한 쿼리는 하루의 최댓값밖에 못구하겠습니다.

(데이터가 누적되기때문에)

아래 쿼리는

8월1일 00시 ~ 8월2일00시 데이타중에서

최대값을 받아오기때문에

결과값은 8월 2일 00시 데이타만 나옵니다.

 

select id, MAX(TO_CHAR(time,'yyyy/mm/dd hh24:mi:ss')) MAX(power)

            KEEP (DENSE_RANK FIRST ORDER BY lp_cptr_time DESC)

from T

where rsd_id LIKE('1001%')

     AND time BETWEEN TO_DATE('2016/08/01 00:00:00', 'yyyy/mm/dd hh24:mi:ss')

     AND TO_DATE('2016/08/02 00:00:00', 'yyyy/mm/dd hh24:mi:ss') group by rsd_id;



 

 

 

그래서 이 쿼리를 또 재사용하여

ex)

(8월 2일~8월3일 최댓값) - (8월 1일~8월2일 최댓값)

240-160

= 80 이런식으로

하게되면 8월 3일의 순수사용량을 출력하고싶습니다.

 

(아래처럼 출력하고 싶은데 순수사용량  값은 막넣었어요)

이렇게 id는 밑으로 쭉있고, 날짜는 8/1~31일까지 옆으로 쭉뻗어나가는식으로요.

 rsd_id

8/1 순수 사용량

8/2 순수 사용량

8/3일 순수사용량 

 100101010001

36

34

32

 100101010002

15

42

24

 100101010003

48

 67

12



 

 

저 나름대로 삽질도 많이 하긴했는데 잘안되네요ㅠㅠ

sql 고수님들 부탁드립니다.

두 값을 추출하여 빼서

순수사용량만 보이게하려면

어떻게해야될까요.

 

제발 도움 부탁드립니다 ㅎㅎ

No. Subject Author Date Views
9502 파워빌더 12.5 문의드려요. [1] 나는야SQL초보 2016.09.07 3419
9501 쿼리 문의, Max 날짜 및 데이타 가져오기 [1] 어둠별빛 2016.09.07 2506
9500 통신 버퍼 리소스에서 다른 프로세스와의 교착 상태가 발생 [1] HSQL 2016.09.06 3332
9499 Unicode .txt 파일 format파일 이용해서 BulkInsert할때 문제점 [1] 띠립수 2016.09.05 2814
9498 xml path 결과 출력 문의 [2] dDrake 2016.09.05 2251
9497 select 결과의 row가 여러개 일 경우 각각의 결과를 변수에 할당 할 수 있나요? [1] 셀프 2016.09.05 2205
9496 재귀쿼리 조직도 쿼리 질문입니다. [1] 아더왕 2016.09.05 2940
9495 숫자 한글 혼합 정렬문제...? [8] 문상연 2016.09.04 3104
9494 group by 질문이 있어요..(쿼리수정 -_-) [2] neiyan 2016.09.02 2379
9493 SSMS 로 인한 CPU 부하 문의 [2] 아스날 2016.09.02 2642
9492 월별 가로 출력 ms-sql 쿼리 질문입니다. [1] 미뇽 2016.09.01 3381
9491 오라클 쿼리를 sql로 변경하려면,, sum over ( order by tt desc) 이부분을 [4] 하늘양 2016.09.01 2185
9490 dat텍스트파일을 열면 글씨가 깨져 나옵니다. 엑셀로 변환 방법과 여는 방법 부탁드립니다. [1] 락규 2016.09.01 5208
9489 select문으로 불러온 칼럼값 문제 [2] 질문쟁이 2016.09.01 1881
9488 서버 이전 후 SSIS 패키지는 모두 재생성을 해야하는 걸까요? [1] 더따뜻한 2016.08.29 2302
9487 SQL where 조건에 변수입력시 옵티마이저가 비정상적 판단을 합니다. [7] 꼬셔죠 2016.08.29 3020
9486 (SQL2008 R2) 접속 후, 에러문구 문의. [1] 탕슉 2016.08.26 2503
9485 정렬문제..? [8] 문상연 2016.08.24 2643
» 특정 시간대 데이터를 뽑는 쿼리 도와주세요. [5] hunit 2016.08.23 3457
9483 번호 로그인 관련 문의 드립니다. [2] 남군 2016.08.23 1742





XE Login