You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LINQ查询求助:产品测试结果的三类状态统计及二次查询问题

产品测试数据统计问题:门开关测试状态统计异常

我有一张产品测试结果表MfgTests,测试可能因多种原因失败,需要统计以下三类数据:

  • 整体通过的测试总数
  • 门开关测试失败且从未通过的测试数
  • 门开关首次测试失败但后续通过的测试数

每条记录包含唯一UID和日期时间字段,同一产品可被多次测试。目前我写的LINQ代码能正确统计前两类数据,但第三类数据的统计存在问题:在测试数据中预期结果应为1(对应UID 10),但现有代码返回4;调整后的代码在测试数据中能得到正确结果,但在真实数据里无效。

现有代码:

var totalPass = (from d in KAKs
                where d.TestResult == "PASS"
                select d);
Console.WriteLine("Total Passing: \t" + totalPass.Count());

var dataPass = (from d in KAKs
                where d.DoorSwitch == "PASS"
                select d);
Console.WriteLine("Total Door Switch Passes: \t" + dataPass.Count());
var dataFail = (from d in KAKs
                where d.DoorSwitch == "FAIL"
                select d);
Console.WriteLine("Total Door Switch Fails: \t" + dataFail.Count());

foreach (var uid in dataFail)
{
    Console.WriteLine(uid.UID);
    var distinctPass =
        from list in dataPass
        group list by list.UID into grouped
        where grouped.Count() == 1
        select grouped;
    Console.WriteLine("Door Switch Fail but pass later: \t" + distinctPass.Count());
}

调整后的代码:

var distinctPass =
    from list in dataPass
    group list by list.UID into grouped
    where grouped.Count() != 1
    select grouped;
Console.WriteLine("Door Switch Fail but pass later: \t" + distinctPass.Count());

内容的提问来源于stack exchange,提问作者EE_Kraig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 02:28:16