
1661. Average Time of Process per Machine
SELECT machine_id,
ROUND(
AVG(
CASE WHEN activity_type='start' THEN - timestamp ELSE timestamp end
)*2,
3) AS processing_time
FROM activity
GROUP BY machine_id;
POINT 1 : -timestamp
CASE WHEN문을 활용하여start일 경우-timestamp 이렇게 음수를 취해줌으로써 (end-start)의 값을 유도
POINT 2 : AVG(~)*2
이 상태에서 average를 구하면 실제로는 n개의 task를 진행했는데도 데이터가 2n개이기 때문에 2n개로 나눠진 average 값이 나옴. 이를 원복해주기 위해 average 값에 2를 곱해줌