이 테이블은 공장 웹사이트에 대한 사용자 활동을 보여줍니다.
(machine_id, process_id, activity_type)은 이 테이블의 기본 키(고유 값을 가진 열의 조합)입니다.
machine_id는 머신의 ID입니다.
process_id는 머신에서 실행 중인 프로세스의 ID가 machine_id입니다.
activity_type은 유형('start', 'end')의 ENUM(카테고리)입니다.
timestamp는 현재 시간(초)을 나타내는 float입니다.
'start'는 머신이 주어진 타임스탬프에서 프로세스를 시작한다는 의미이고 'end'는 머신이 주어진 타임스탬프에서 프로세스를 종료한다는 의미입니다.
'start' 타임스탬프는 모든 (machine_id, process_id) 쌍에 대해 항상 ‘end’ 타임스탬프보다 앞에 위치합니다.
각 (machine_id, process_id) 쌍에 ‘시작’ 및 ‘종료’ 타임스탬프가 있다는 것이 보장됩니다.
각각 동일한 수의 프로세스를 실행하는 여러 대의 컴퓨터가 있는 공장 웹사이트가 있습니다. 각 기계가 프로세스를 완료하는 데 걸리는 평균 시간을 구하는 솔루션을 작성합니다.
프로세스를 완료하는 데 걸리는 시간은 ‘종료’ 타임스탬프에서 ‘시작’ 타임스탬프를 뺀 값입니다. 평균 시간은 머신의 모든 프로세스를 완료하는 데 걸린 총 시간을 실행된 프로세스 수로 나눈 값으로 계산합니다.
결과 테이블에는 평균 시간과 함께 machine_id가 processing_time으로 표시되며, 소수점 셋째 자리에서 반올림해야 합니다.
결과 테이블을 임의의 순서로 반환합니다.
SELECT A.machine_id ,ROUND(AVG(B.timestamp - A.timestamp), 3) AS processing_time FROM Activity A 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 ;