By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
create table t
(id int,status varchar(20), data varchar(3), date date);
insert into t values
( 1 , 'START' , 'a4c' , '2020-01-01'),
( 2 , 'WORKING' , '2w3' , '2019-12-29'),
( 3 , 'WORKING' , '2d3' , '2019-12-29'),
( 4 , 'WORKING' , '3ew' , '2019-12-26'),
( 5 , 'WORKING' , '5r5' , '2019-12-23'),
( 6 , 'START' , '2q3' , '2019-12-22'),
( 7 , 'WORKING' , '32w' , '2019-12-20'),
( 8 , 'WORKING' , '9k5' , '2019-12-10');
Records: 8 Duplicates: 0 Warnings: 0
select min(id) as id, 'START' as status, sum(status = 'WORKING') as num_working, max(date) as date
from (select t.*, (@s := @s + (t.status = 'START')) as grp
from (select t.* from t order by id asc) t cross join
(select @s := 0) params
) t
group by grp
order by min(id)
id | status | num_working | date |
---|---|---|---|
1 | START | 4 | 2020-01-01 |
6 | START | 2 | 2019-12-22 |