Group by 절에 연산 문의 0 2 1,792

by 빈이 [SQL Query] [2016.07.14 14:19:31]


WITH T AS (
SELECT TO_DATE('2016-06-22 00:24:03','YYYY-MM-DD HH24:MI:SS') AS DT , 100 AS NUM FROM DUAL UNION ALL
SELECT TO_DATE('2016-06-22 00:10:51','YYYY-MM-DD HH24:MI:SS'), 110 FROM DUAL UNION ALL
SELECT TO_DATE('2016-06-22 00:19:29','YYYY-MM-DD HH24:MI:SS'), 120 FROM DUAL UNION ALL
SELECT TO_DATE('2016-06-22 00:42:58','YYYY-MM-DD HH24:MI:SS'), 130 FROM DUAL UNION ALL
SELECT TO_DATE('2016-06-22 00:42:58','YYYY-MM-DD HH24:MI:SS'), 140 FROM DUAL UNION ALL
SELECT TO_DATE('2016-06-22 00:42:58','YYYY-MM-DD HH24:MI:SS'), 150 FROM DUAL UNION ALL
SELECT TO_DATE('2016-06-22 00:42:58','YYYY-MM-DD HH24:MI:SS'), 200 FROM DUAL UNION ALL
SELECT TO_DATE('2016-06-22 00:42:58','YYYY-MM-DD HH24:MI:SS'), 210 FROM DUAL UNION ALL
SELECT TO_DATE('2016-06-22 00:42:58','YYYY-MM-DD HH24:MI:SS'), 220 FROM DUAL UNION ALL
SELECT TO_DATE('2016-06-22 00:42:58','YYYY-MM-DD HH24:MI:SS'), 230 FROM DUAL UNION ALL
SELECT TO_DATE('2016-06-22 00:42:58','YYYY-MM-DD HH24:MI:SS'), 240 FROM DUAL UNION ALL
SELECT TO_DATE('2016-06-22 00:42:58','YYYY-MM-DD HH24:MI:SS'), 250 FROM DUAL UNION ALL
SELECT TO_DATE('2016-06-22 00:42:58','YYYY-MM-DD HH24:MI:SS'), 260 FROM DUAL UNION ALL
SELECT TO_DATE('2016-06-22 00:48:04','YYYY-MM-DD HH24:MI:SS'), 270  FROM DUAL
)
SELECT * FROM T ;

 

위와 같은 데이터가 있을 때 시간대별로 NUM 필드의 정보를 연산하여 표시하고 싶습니다.

아래와 같이 데이터가 출력이 되면 됩니다.

시간정보 // 그룹핑 기준정보 // 건수

2016-06-22 00  // 1~100 // 1 건

2016-06-22 00  // 101~200 // 6 건

2016-06-22 00  // 201~250 // 5 건

2016-06-22 00  // 251 ~  // 2 건

1~100, 101~200 등과같은 그룹핑 기준정보는 고정입니다.

by 랑에1 [2016.07.14 14:44:30]

SELECT MIN(dt) "시간정보", DECODE(num, 1, '1~100', 2, '101~200', 3, '201~250', '251~') "그룹핑 기준정보", COUNT(*) || '건' "건수" 
FROM 
(
SELECT TO_CHAR(dt, 'yyyy-mm-dd') dt
     , CASE
              WHEN num <= 100
              THEN 1
              WHEN num <= 200
              THEN 2
              WHEN num <= 250
              THEN 3
              ELSE 4
       END num
FROM   T
)
GROUP BY num
ORDER BY num 

 


by 빈이 [2016.07.14 14:50:21]

아 이렇게하면 되는군요!

감사합니다!

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