【d57】【sql】1661. 每台机器的进程平均运行时间

思路

一方面考察自连接,另一方面考察group by

这里主要说明 group by 用法:

1.在 SQL 查询中,`GROUP BY` 子句用于将结果集中的行分组,目的通常就是 对每个组应用聚合函数(如 `SUM()`, `AVG()`, `MAX()`, `MIN()`, `COUNT()` 等)。


用group by 分组后 ,每组只会返回一行,

过程是:分组后,通过聚合函数 对这个分组 进行运算,然后作为 这个分组的代表,返回一行


注意:::查询的字段为聚合函数和分组字段,查询其他字段无任何意义

所以sql一般是:select 聚合函数 ...group by

代码

# Write your MySQL query statement below、
select  a1.machine_id,round(avg(a2.timestamp-a1.timestamp),3) processing_time  from Activity a1 join Activity a2 on a1.machine_id=a2.machine_id and a1.process_id=a2.process_id
    and a1.activity_type='start'and a2.activity_type='end'  group by  a1.machine_id;

记录

总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值