Для этого вам придется отключить strict_mode, что расстраивает, потому что в противном случае этот запрос действителен ...
CREATE TABLE report
( id INT SERIAL PRIMARY KEY
, date_hour DATETIME DEFAULT NULL
, speed FLOAT DEFAULT NULL
, name VARCHAR(20) DEFAULT NULL
, nor FLOAT DEFAULT NULL
, validation TINYINT DEFAULT NULL
, p_i VARCHAR(20) DEFAULT NULL
, speed_performance VARCHAR(20) DEFAULT NULL
);
INSERT INTO report VALUES
(1,'2018-02-03 13:23:00', -12.30,'SYN', 10,1,3,4),
(2,'2018-02-03 11:23:00', -6.36,'SYN', 13,0,4,5),
(3,'2018-02-03 01:23:00', -26.36,'SYN', 24,0,2,4),
(4,'2020-04-06 21:23:00',-156.36,'SYN', 16,1,3,6),
(5,'2020-04-06 03:23:00', -36.36,'YRT',136,0,2,5),
(6,'2020-04-06 12:23:00', -16.36,'SYN', 13,1,4,4);
SELECT name
, DATE(date_hour) dt
, avg(nor) avg_nor
FROM report
GROUP
BY name
, DATE(date_hour+INTERVAL 12 HOUR);
+------+---------------------+---------+
| name | dt | avg_nor |
+------+---------------------+---------+
| SYN | 2018-02-03 11:23:00 | 18.5 |
| SYN | 2018-02-03 13:23:00 | 10 |
| SYN | 2020-04-06 21:23:00 | 14.5 |
| YRT | 2020-04-06 03:23:00 | 136 |
+------+---------------------+---------+