문제 링크
https://leetcode.com/problems/average-time-of-process-per-machine/
문제
여러 컴퓨터가 있는 공장 웹사이트가 있다. 각 기계가 프로세스를 완료하는 데 걸리는 평균 시간을 구하시오.
프로세스를 완료하는 시간은 'end' timestamp - 'start' timestamp이고 소수점 이하 3자리에서 반올림하시오.
- keyword : SELF JOIN, GROUP BY
풀이
SELF JOIN 하는데 ON절을 이용하여 시작 시간과 끝나는 시간 분리하고 GROUP BY 후 AVG() 함수 활용하기
SELECT A.machine_id, ROUND(AVG(B.timestamp-A.timestamp),3) AS processing_time
FROM Activity A INNER JOIN Activity B
ON A.machine_id = B.machine_id
AND A.process_id = B.process_id
AND A.activity_type = 'start'
AND B.activity_type = 'end'
GROUP BY A.machine_id;