select *
from Activity a1 inner join Activity a2
on a1.machine_id = a2.machine_id and a1.process_id = a2.process_id
AND a1.activity_type <> a2.activity_type
AND a1.activity_type = 'end';
answer
select a1.machine_id, round(avg(a1.timestamp - a2.timestamp),3) as processing_time
from Activity a1 inner join Activity a2
on a1.machine_id = a2.machine_id and a1.process_id = a2.process_id
AND a1.activity_type <> a2.activity_type
AND a1.activity_type = 'end'
group by a1.machine_id;