如何用SQL获取distinct值(非去重计数)及测试数据统计问题
统计每种测试标准的执行次数方案
嘿,我来帮你搞定这个测试数据统计的问题!根据你的描述,核心需求就是统计每个Test criteria的总执行次数(包括失败后重复执行的次数),下面直接给你可行的SQL方案和解释:
基础统计方案(按测试标准分组)
如果你只需要知道每种测试标准总共被执行了多少次,不管它属于哪个序列号的测试,直接用这条SQL就够了:
SELECT "Test criteria", COUNT(*) AS execution_count FROM your_test_table GROUP BY "Test criteria" ORDER BY execution_count DESC;
GROUP BY "Test criteria":把相同的测试标准归为一组COUNT(*):统计每组的总行数,也就是该测试标准被执行的总次数(重复执行的次数也会被算进去)ORDER BY execution_count DESC:可以让结果按执行次数从多到少排序,方便你快速查看高频执行的测试
进阶统计方案(按序列号+测试标准分组)
如果还想同时看每个序列号下各测试标准的执行情况,用这条:
SELECT "serial number", "Test criteria", COUNT(*) AS execution_count FROM your_test_table GROUP BY "serial number", "Test criteria" ORDER BY "serial number", execution_count DESC;
这样你能清楚看到每一项特定测试(serial number)里,各个测试标准分别被执行了多少次。
补充说明为什么原查询结果会超过15
你提到执行count(Test criteria) group by "serial number"后结果超过15,这是因为每个序列号对应的测试可能因为失败重复执行,所以每个serial number对应的Test criteria行数会大于等于15(比如某个测试标准失败了2次,就会被记录3次:1次尝试+2次重试),所有serial number的统计结果加起来自然会超过15。而我们上面的方案是直接按Test criteria分组,所以能精准得到每个测试标准的总执行次数。
内容的提问来源于stack exchange,提问作者Drake .C
相关产品推荐
相关产品推荐

