1. 指定多个字段进行汇总统计,取分组中的最大最小值
select case_id, sort, min(time) as startTime, max(time) as endTime from result_detail
where result_id=45 and type = 'step' group by case_id, sort order by sort asc;
指定测试结果表中根据 case_id 和 sort 字段进行分组,取同一分组中的执行最小时间作为该条用例的开始执行时间,取同一分组中的执行最大时间作为该条用例的结束执行时间。
因为一个测试集可能有多条相同用例,用 sort 作为区分,case_id 和 sort 两个字段一起可以唯一确定执行的是哪一条用例,因此这里需要指定两个字段。
执行结果如下图所示:
2. 指定多个字段进行汇总统计,取分组中的某个字段的最大值
# 查询结果详情中,每条执行用例的最终状态
select case_id, sort, max(status) as status from result_detail where result_id = 45
and type='status'
group by case_id, sort;
根据 case_id 和 sort 字段进行分组,每个分组中取最大状态值作为用例的最终状态。
因为一条用例可能有多个设备执行,每个设备返回的状态值可能不同,这里取最大值作为整条用例的最终状态值。
执行结果如下图所示: