시간별 데이터 추출 2번째 질문 0 2 1,266

by 신제트 [MySQL] [2022.08.09 10:08:23]


안녕하세요 질문하나 드립니다.

날짜의 시간별로 데이터를 뽑아내고싶습니다.

ex) 8월 8일 이 있다고 한다면

00~01 ,01~02,02~03,~~~ 이런식으로 각 시간대별 해당 날짜의 24시까지의 값을 받아오고싶습니다.

idx install date
1 30 1625813926
2 40 1625813955

이런식으로 값이 들어있는데 install 의 값을 그 날짜의 시간별로 뽑아주고싶습니다.

방법이있을까요?가 어제질문으로 알려주신대로

WITH t AS

(

SELECT 1 idx, 30 install, 1625813926 date

UNION ALL SELECT 2, 40, 16258139551

UNION ALL SELECT 3, 50, 1625790000

UNION ALL SELECT 4, 60, 1625820000

)

SELECT DATE_FORMAT(FROM_UNIXTIME(date), '%Y-%m-%d') dt

     , DATE_FORMAT(FROM_UNIXTIME(date), '%H') hr

     , SUM(install) install

  FROM t

 WHERE date >= UNIX_TIMESTAMP('2021-07-09')

   AND date <  UNIX_TIMESTAMP('2021-07-09') + 24*60*60

 GROUP BY DATE_FORMAT(FROM_UNIXTIME(date), '%Y-%m-%d')

        , DATE_FORMAT(FROM_UNIXTIME(date), '%H')

; 방법을 써서 추출을 했는데

 

날짜를 2021-07-09 ~ 2021-07-11 이런식으로 넣으면 3일의 값이 다 합쳐져서 나옵니다.

질문)  2021-07-09 , 2021-07-10,2021-07-11 의 각 시간별 데이터를 따로 출력하는 법은 없을까요? 

by 마농 [2022.08.09 13:09:45]

글쎄요?
날짜별/시간별 기준으로 그룹바이 했으므로 3일치가 다 합쳐져서 나올 리가 없는데요?


by 신제트 [2022.08.09 13:37:59]

제가 잘못 봤었네요 감사합니다!

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