gpt4 book ai didi

c# - 如何输出未包含在分组依据中的属性及其计数

转载 作者:行者123 更新时间:2023-12-02 02:03:05 25 4
gpt4 key购买 nike

我在这里想要实现的是,我希望从该 LINQ 查询返回具有两个属性的列表:billNo 和同一 fromDate 上导入代码出现的次数。

因此,这里我们的 billNo 1 和 2 都有相同的导入代码,它们在同一日期 (01/01/2020) 出现在两行中,因此计数为 2。

如果有助于澄清,请将其视为导入代码应该仅涵盖一个不同的 fromDate。如果出现多次,我想看看有多少次(计数)以及哪些 BillNo 是这样的。

因此下面数据集的预期结果是:

<表类=“s-表”><标题>账单编号计数 <正文>1222314151

如果不用于分组,我很难弄清楚如何选择 BillNo。

非常感谢您的帮助。

var rows = new List<ImportRow>()
{
new ImportRow {billNo= 1, importCode = "one", fromDate = new DateTime(2020, 1, 1)},
new ImportRow {billNo= 2, importCode = "one", fromDate = new DateTime(2020, 1, 1)},
new ImportRow {billNo= 3, importCode = "two", fromDate = new DateTime(2020, 1, 1)},
new ImportRow {billNo= 4, importCode = "two", fromDate = new DateTime(2020, 2, 1)},
new ImportRow {billNo= 5, importCode = "one", fromDate = new DateTime(2020, 3, 1)}
};

public class ImportRow : IEnumerable
{
public int billNo { get; set; }
public string importCode { get; set; }
public DateTime fromDate { get; set; }

public IEnumerator GetEnumerator()
{
throw new NotImplementedException();
}
}



var billNosWithCounts = rows.GroupBy(info => new { info.importCode,
info.fromDate })
.Select(group => new
{
FromDate = group.Key.fromDate,
Count = group.Count()
});

最佳答案

您可以将源代码加入到其自身中,我相信这将为您提供所需的输出:

var result = from r1 in rows
join r2 in rows
on new { r1.importCode, r1.fromDate } equals
new { r2.importCode, r2.fromDate }
group r1.billNo by r1.billNo into g
select new
{
BillNo = g.Key,
Count = g.Count()
};

关于c# - 如何输出未包含在分组依据中的属性及其计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68746339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com