LC 速查

SQL 50索引 › A2 Basic Joins 基础 JOIN

LC 1661每台机器的进程平均运行时间Average Time of Process per Machine 简单

Activity 表每个进程有 start、end 两条记录带时间戳;求每台机器所有进程的平均运行时长,保留 3 位小数。

思路 自连接按机器+进程配对 start/end,AVG 时长 + ROUND。

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;

数据表:Activity · 关键字:求每台机器所有进程的平均运行时长,保留 3 位小数

← 上一题 上升的温度员工奖金 下一题 →