database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41371 게시물 읽기
No. 41371
데이터가 시간대별로 합계가 나왔으면 합니다.
작성자
도토리(dododori)
작성일
2017-04-06 16:07ⓒ
2017-04-06 16:39ⓜ
조회수
6,463

 

안녕하세요. 막힐때마다 한번씩 찾아오게 되네요 휴우~

쉬운거 같은데 안되네요;;

아래와 같이 질문 드립니다.

실제 존재하는 데이터는 0101, 0102, 0103 이런식으로 1시1분, 1시2분, 1시3분 그리고 시간대별로 1도 있고 2도 있고 그럽니다.

예시) 칼럼형식이 날짜가 아닙니다. 그냥 문자형식이고 0000 시간분 합쳐서 4자리로 되어있어요.

0101     1

0102     2

0103     2

0401     6

0412     5

0445     2

...

2255     7

근데 2시에는 없기도 하고 3시에도 없기도 하고 4시에는 있고 이런식으로 불규칙적인

시간대별 데이터라 그룹으로 묶으면 01 = 10, 04 = 20, 06 = 15

요런식으로 썸이되어 나와요.

예시)

01     10

04     20

06     15

...

22      25

그런데 아예 시간대별로 01, 02, 03, 04, 05, 06 ~ 24 까지 24시간 형식으로 데이터가 있으면 있는 데이터의 합, 데이터가 없으면 0

이렇게 나오게 하려는데 잘 안되네요.. 멍청한가봅니다 ㅠ_ㅠ

 

임시테이블로 01~24까지 데이터 넣고 조인시켜서 나오게 하려고 했는데 그것도 잘 안되네요.

도움주시면 감사하겠습니다.

이 글에 대한 댓글이 총 2건 있습니다.

WITH T AS (
SELECT '0101' AS TIME, 1 AS DATA FROM DUAL UNION ALL
SELECT '0102' AS TIME, 2 AS DATA FROM DUAL UNION ALL
SELECT '0103' AS TIME, 2 AS DATA FROM DUAL UNION ALL
SELECT '0401' AS TIME, 6 AS DATA FROM DUAL UNION ALL
SELECT '0412' AS TIME, 5 AS DATA FROM DUAL UNION ALL
SELECT '0445' AS TIME, 2 AS DATA FROM DUAL UNION ALL
SELECT '2255' AS TIME, 7 AS DATA FROM DUAL
)
SELECT A.HOUR         AS TIME
     , SUM( T.DATA )  AS DATA
  FROM ( SELECT LEVEL AS HOUR FROM DUAL CONNECT BY LEVEL < 25 ) A
     , T
 WHERE 1 = 1
   AND A.HOUR = SUBSTR( T.TIME ( + ), 1, 2 )
 GROUP BY A.HOUR

 

Null(nvl)님이 2017-04-06 16:45에 작성한 댓글입니다.
이 댓글은 2017-04-06 17:49에 마지막으로 수정되었습니다.

null님 댓글 정말 감사합니다! 해봐야겠네요~

도토리(dododori)님이 2017-04-06 17:24에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41374다른테이블의 조건으로 원하는 테이블의 필드 삭제는 어떻게 하죠? [1]
정범일
2017-04-15
6179
41373쿼리 속도 [1]
바랑
2017-04-12
6682
4137211g 깔았는데 실행이 안돼요 [1]
안정민
2017-04-09
6369
41371데이터가 시간대별로 합계가 나왔으면 합니다. [2]
도토리
2017-04-06
6463
41370쿼리질문...감사합니다. [2]
알럽디비
2017-04-06
6235
41368쿼리 결과에 추가로 정보를 보여 주려면 어떻게 해야 하나요 [1]
왕초보
2017-03-31
6131
41367NLS_NUMBERIC_CHARACTERS에 대해 질문드립니다.
이현석
2017-03-31
6013
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다