Я думаю, что проблема в дизайне в том, что масса содержится в collection_container.Я бы ожидал этого в коллекциях.Эффект состоит в том, что масса найдена до левого соединения (которое не выполняется в дату).
Например
drop table if exists residual_types,containers,collection_container,collections;
create table residual_types(id int,name varchar(3));
create table containers(id int,residual_type_id int);
create table collection_container(container_id int,collection_id int,mass int);
create table collections(id int,creation_time bigint);
insert into residual_types values(1,'aaa'),(2,'bbb'),(3,'ccc');
insert into containers values(1,1),(2,1),(3,1),(4,1);
insert into collection_container values(1,10,100),(1,20,100),(1,30,100);
insert into collections values(10,1557637100),(20,1557637200),(30,1557723599);
SELECT residual_types.name AS name, collections.creation_time,
IFNULL(SUM(collection_container.mass),0) AS mass
FROM residual_types
INNER JOIN containers ON containers.residual_type_id = residual_types.id
INNER JOIN collection_container ON collection_container.container_id = containers.id
LEFT JOIN collections ON collection_container.collection_id = collections.id AND collections.creation_time BETWEEN 1557637200 AND 1557723599
GROUP BY residual_types.id,collections.creation_time
ORDER BY mass DESC;
+------+---------------+------+
| name | creation_time | mass |
+------+---------------+------+
| aaa | NULL | 100 |
| aaa | 1557637200 | 100 |
| aaa | 1557723599 | 100 |
+------+---------------+------+
3 rows in set (0.00 sec)