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

如何在LINQ的GroupBy查询中返回未参与分组的属性及对应统计次数

LINQ分组查询保留未参与分组字段的解决方案

核心思路:你已完成按importCode+fromDate的正确分组,只需将每个分组下的所有行数据逐个展开,为每一行的billNo绑定当前分组的统计次数即可。

修正后的查询代码

var billNosWithCounts = rows
    .GroupBy(info => new { info.importCode, info.fromDate })
    // 展开分组内所有条目,关联当前分组的计数
    .SelectMany(group => group.Select(item => new 
    {
        BillNo = item.billNo,
        Count = group.Count()
    }))
    // 可选:按billNo排序匹配你给出的预期输出顺序
    .OrderBy(res => res.BillNo)
    .ToList();

扩展说明

如果需要同时保留分组的importCode、fromDate字段,可直接在最终投影中添加对应属性:

.SelectMany(group => group.Select(item => new 
{
    BillNo = item.billNo,
    group.Key.importCode,
    group.Key.fromDate,
    Count = group.Count()
}))

运行上述代码后,输出结果与你给出的预期完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 14:15:00