본문 바로가기

SQL/MySql

mysql 시간을 기준으로 묶어서 컬럼 sum 해주기.

회사에서 사용중인 slq 일부 인데 안까먹으려고.... 공부용으로 컬럼 이름은 변경했음.

2020년 12월4일부터 2020년 12월5일 사이 시간을 기준으로 묶어서 컬럼의 값들을 더해줌.

 

sql : 

SELECT 
DATE_FORMAT(DATE_TIME, '%H:%i:%s') AS DATE_TIME,
CRSRD.NODE_ID, NAME_name,  sum(dataFiled2), TRUNCATE(avg(dataFiled3),0) AS dataFiled3, sum(dataFiled4), TRUNCATE(avg(dataFiled5_String),2),
CASE
   WHEN dateFiled5_String IS NULL THEN '알수 없음'
   WHEN dateFiled5_String < 5 THEN 'A'
   WHEN dateFiled5_String < 10 THEN 'B'
   WHEN dateFiled5_String < 15 THEN 'C'
   WHEN dateFiled5_String < 20 THEN 'D'
   WHEN dateFiled5_String < 25 THEN 'E'
   ELSE 'F'
END  AS dataFiled5_STR
                 
FROM tableErum1 DBerum1, tableErum2 DBerum2
WHERE DBerum1.NODE_ID = 'N0005'
AND DBerum1.NODE_ID = DBerum2.NODE_ID
AND DATE_TIME >= STR_TO_DATE('2020.12.04 00:00:00', '%Y.%m.%d %H:%i:%s') 
AND DATE_TIME < DATE_ADD(STR_TO_DATE('2020.12.05 00:00:00', '%Y.%m.%d %H:%i:%s'), INTERVAL 1 DAY)
GROUP BY DATE_FORMAT(DATE_TIME, '%H:%i:%s')
ORDER BY 1, 2;

 

결과값은 아래처럼 나옴.

728x90
300x250