leetcode简单之1661.每台机器的进程平均运行时间

这是一篇关于如何使用SQL查询计算工厂网站中每台机器完成一个进程任务平均耗时的文章。文章给出了Activity表格的结构,问题描述,示例输入和输出,并解释了计算平均耗时的SQL解决方案,其中使用了IF函数巧妙地处理了开始和结束时间戳。
摘要由CSDN通过智能技术生成
表: Activity
Column Name Type
machine_id int
process_id int
activity_type enum
timestamp float

该表展示了一家工厂网站的用户活动.
(machine_id, process_id, activity_type) 是当前表的主键.
machine_id 是一台机器的ID号.
process_id 是运行在各机器上的进程ID号.
activity_type 是枚举类型 (‘start’, ‘end’).
timestamp 是浮点类型,代表当前时间(以秒为单位).
‘start’ 代表该进程在这台机器上的开始运行时间戳 , ‘end’ 代表该进程在这台机器上的终止运行时间戳.
同一台机器,同一个进程都有一对开始时间戳和结束时间戳,而且开始时间戳永远在结束时间戳前面.

问题

现在有一个工厂网站由几台机器运行,每台机器上运行着相同数量的进程. 请写出一条SQL计算每台机器各自完成一个进程任务的平均耗时.

完成一个进程任务的时间指进程的’end’ 时间戳 减去 ‘start’ 时间戳. 平均耗时通过计算每台机器上所有进程任务的总耗费时间除以机器上的总进程数量获得.

结果表必须包含machine_id(机器ID) 和对应的 average time(平均耗时) 别名 processing_time, 且四舍五入保留3位小数.

以 任意顺序 返回表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值