LeetCode MySQL 1661. 每台机器的进程平均运行时间
文章目錄
- 1. 題目
- 2. 解題
1. 題目
表: 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位小數.
具體參考例子如下:
Activity table:
+------------+------------+---------------+-----------+ | machine_id | process_id | activity_type | timestamp | +------------+------------+---------------+-----------+ | 0 | 0 | start | 0.712 | | 0 | 0 | end | 1.520 | | 0 | 1 | start | 3.140 | | 0 | 1 | end | 4.120 | | 1 | 0 | start | 0.550 | | 1 | 0 | end | 1.550 | | 1 | 1 | start | 0.430 | | 1 | 1 | end | 1.420 | | 2 | 0 | start | 4.100 | | 2 | 0 | end | 4.512 | | 2 | 1 | start | 2.500 | | 2 | 1 | end | 5.000 | +------------+------------+---------------+-----------+Result table:
+------------+-----------------+ | machine_id | processing_time | +------------+-----------------+ | 0 | 0.894 | | 1 | 0.995 | | 2 | 1.456 | +------------+-----------------+一共有3臺機器,每臺機器運行著兩個進程.
機器 0 的平均耗時: ((1.520 - 0.712) + (4.120 - 3.140)) / 2 = 0.894
機器 1 的平均耗時: ((1.550 - 0.550) + (1.420 - 0.430)) / 2 = 0.995
機器 2 的平均耗時: ((4.512 - 4.100) + (5.000 - 2.500)) / 2 = 1.456
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/average-time-of-process-per-machine
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- 先求總時間,然后除以進程數量
234 ms 0 B MySQL
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode MySQL 1661. 每台机器的进程平均运行时间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Chapter5_Speaker_Ver
- 下一篇: LeetCode 2147. 分隔长廊的