728x90
-- 테이블 삭제 
DROP TABLE IF EXISTS tbl_example;

-- 테이블 생성
CREATE TABLE tbl_example 
(
	`time`		datetime 		default now()
,	`class`		varchar(100)	
,	`log_text`	varchar(2000)
);

-- 샘플 데이터 생성
INSERT INTO tbl_example(`time`, `class`, `log_text`)
SELECT now(), 'A', 'error 101013'
UNION ALL 
SELECT DATE_ADD(now(), INTERVAL -1 HOUR), 'B', 'error 201013'
UNION ALL 
SELECT DATE_ADD(now(), INTERVAL -2 HOUR), 'C', 'error 301013'
UNION ALL 
SELECT DATE_ADD(now(), INTERVAL -3 HOUR), 'D', 'error 321013'
UNION ALL 
SELECT DATE_ADD(now(), INTERVAL -4 HOUR), 'E', 'error 111013'
;

-- 시간 단위 카운트 
SELECT 	STR_TO_DATE(DATE_FORMAT(`time`, '%Y%m%d%H'), '%Y%m%d%H')
	,	COUNT(*)	cnt
FROM 	tbl_example
GROUP BY STR_TO_DATE(DATE_FORMAT(time, '%Y%m%d%H'), '%Y%m%d%H')
;

-- Truncate minute, second.
SELECT DATE_FORMAT(NOW(), '%Y%m%d%H')	-- '2021110316'
SELECT STR_TO_DATE(DATE_FORMAT(NOW(), '%Y%m%d%H'), '%Y%m%d%H')	-- 2021-11-03 16:00:00
728x90
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기
반응형