怎么对datatable中的数据进行删选以及合并行

如何对datatable中的数据进行删选以及合并行
如题,我从数据库查出来一组数据并放到了datatable中 现在要把这个datatable里面重复的数据给合并在一起 然后再放到一个新的datatable
比如这个表中中三条这样的数据:
姓名   部门    分数

张三  研发部  96

张三  研发部  99

张三  研发部  89
然后把这样的数据合并成这样一行的数据并放到新的datatable中:

张三  研发部  284(284是上面3条数据分数列相加的和)
这个datatable中至少有400条+的数据,求一种能够快速去重的写法
------解决思路----------------------
内存卡才400加,小case了,直接linq通过group操作得了
------解决思路----------------------
内存卡才400加,小case了,直接linq通过group操作得了
------解决思路----------------------
DataTable dt = new DataTable();
var query = from r in dt.AsEnumerable()
            group r by new{Name= r.Field<string>("name"),Dept=r.Field<string>("dept")} into g
            select g;
List<DataRow> list = new List<DataRow>();
DataTable dt2 = dt.Copy();
dt2.Clear();
foreach (var g in query)
{
    var r = dt.NewRow();
    r[0] = g.Key.Name;
    r[1] = g.Key.Dept;
    r[2] = g.Sum(x => x.Field<int>("score"));
    dt2.Rows.Add(r);
}

差不多这样吧
------解决思路----------------------
直接转

table = table.AsEnumerable().GroupBy(p => p["姓名"]).SelectMany(p => p.GroupBy(s => s["部门"]).Select(x =>
{
DataRow dr = x.First();
dr["分数"] = x.Sum(s=>s.Field<int>("分数"));
return dr;
})).CopyToDataTable<DataRow>();

------解决思路----------------------
数据库查询的时候就直接
select 姓名,部门,sum(分数) as 分数 from 表 group by 姓名,部门

不就得了
为啥要都读出来再自己做累加