[英]How to Group and sum values of two Column in C# Linq
您可以通過以下兩種方式之一獲取姓名和日期:
如果Id
將始終與同一個用戶(即他們的名字)相關聯,那么您可以按 Id和Name 分組並返回Date
的集合:
var dtt = database.AsEnumerable()
.GroupBy(p => new { p.Field<Int64>("ID"), p.Field<String>("Name")})
.Select(p => new
{
Id = p.Key.ID,
Name = p.Key.Name,
Date = p.Select(a => a.Date),
Debit = p.Sum(a => a.Field<Decimal>("Debit")),
Credit = p.Sum(a => a.Field<Decimal>("Credit"))
}).ToArray();
或者您可以使用評論中提到的.First()
(並且仍然返回Date
的集合):
var dtt = database.AsEnumerable()
.GroupBy(p => p.Id)
.Select(p => new
{
Id = p.Id,
Name = p.First().Field<String>("Name"),
Date = p.Select(a => a.Field<DateTime>("Date")),
Debit = p.Sum(a => a.Field<Decimal>("Debit")),
Credit = p.Sum(a => a.Field<Decimal>("Credit"))
}).ToArray();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.