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

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 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
9492 월별 가로 출력 ms-sql 쿼리 질문입니다. [1] 미뇽 2016.09.01 3395
9491 오라클 쿼리를 sql로 변경하려면,, sum over ( order by tt desc) 이부분을 [4] 하늘양 2016.09.01 2186
9490 dat텍스트파일을 열면 글씨가 깨져 나옵니다. 엑셀로 변환 방법과 여는 방법 부탁드립니다. [1] 락규 2016.09.01 5328
9489 select문으로 불러온 칼럼값 문제 [2] 질문쟁이 2016.09.01 1881
9488 서버 이전 후 SSIS 패키지는 모두 재생성을 해야하는 걸까요? [1] 더따뜻한 2016.08.29 2303
9487 SQL where 조건에 변수입력시 옵티마이저가 비정상적 판단을 합니다. [7] 꼬셔죠 2016.08.29 3071
9486 (SQL2008 R2) 접속 후, 에러문구 문의. [1] 탕슉 2016.08.26 2506
9485 정렬문제..? [8] 문상연 2016.08.24 2643
» 특정 시간대 데이터를 뽑는 쿼리 도와주세요. [5] hunit 2016.08.23 3478
9483 번호 로그인 관련 문의 드립니다. [2] 남군 2016.08.23 1743
9482 SP 를 사용한 월별 테이블 생성 하는 방법 [4] Lauren 2016.08.22 2364
9481 2008 이상에서 시스템 함수 만드는 방법좀? 이나영2 2016.08.22 2702
9480 공유기 밑단에서 Sql서버를 두대이용하고 싶습니다. [1] 영우님 2016.08.19 2452
9479 엑셀파일 업로드하는데 에러가 뜹니다. ㅠㅠ [1] xelloslove 2016.08.19 4221
9478 MSSQL 프로시져 결과를 임시테이블에 넣는 방법 문의 입니다. [4] 하하하하하 2016.08.19 4559
9477 2008R2 서비스팩 최신번전 링크 부탁 드립니다. [1] 워터로등 2016.08.19 2366
9476 SQL 2008R2 설치하려고 합니다. 시간단축을 위해 서비스팩을 같이 설치하고 싶습니다. 방법좀 부탁 드립니다. [1] 워터로등 2016.08.19 2244
9475 서버 이전 후 쿼리 처리속도 문제... [2] ppoway 2016.08.18 2357
9474 호환성에대해서... [1] 큘러 2016.08.12 2720
9473 mssql 2014 의 DB를 2012로 옮길수 없나요? [1] 솔총이 2016.08.12 3733





XE Login