(From d in dtOrig.AsEnumerable
Group d by k1=d("Name").toString.trim, k2=d("country").toString.trim into grp=Group
Let sm = grp.Sum(Function (x) CInt(x("Badges").toString.Trim))
Let ra = new Object(){k1,sm,k2}
Select r = dtResult.Rows.Add(ra)).CopyToDataTable
from dtResult we can generate any other format / representation
If you want the Data with String type u can use below expression
(From row In dt1
Group row By name = row(“Name”).ToString Into Group
Let badges = Group.Sum(Function(r) Convert.ToInt32(r(“Badges”)))
Select “Name=” & name & Environment.NewLine & “Badges=” & badges.ToString & Environment.NewLine & “Country=” & Group.First()(“Country”).ToString & Environment.NewLine).Aggregate(Function(x,y) x & y)