안녕하세요 질문하나 드립니다.
날짜의 시간별로 데이터를 뽑아내고싶습니다.
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 의 각 시간별 데이터를 따로 출력하는 법은 없을까요?