选择不在GroupBy中的列的值

本文关键字:GroupBy 选择 | 更新日期: 2023-09-27 18:26:22

我需要一个查询来选择数据未分组的列值。我必须按Vkn编号分组才能获得InvoiceCount的总和,但我想选择FirmName而不按其分组。

public Model1
{
    public int VKN {get; set;}
    public string FirmName {get; set;}
    public string {get; set;}
    public string InvoiceCount {get; set;}
}
List<Model1> temp = new List<Model1> { /*adding some value... */ };
var temp = from m in temp group by new { row.VKN, row.FirmName} into g
           select new { FirmName = g.Key.FirName,
                        VKN = g.Key.Vkn,
                        InvoiceCountSum = g.Sum(x => x.InvoiceCount),
                      }

选择不在GroupBy中的列的值

您可以按row.VKN分组,并使用几乎任何聚合函数来获取未参与分组的其他字段,但前提是您关心这样分组集合的结果(例如,您肯定知道FirmName在每个VKN中是唯一的):

FirmName = g.Min(x => x.FirmName)