借助DataTable的Compute方法,DataTable中数据不用事先排好序。 下面代码中的dt是跟前面的是一样的 DataTable dtName = dt.DefaultView.ToTable(true, "name"); for (int i = 0; i < dtName.Rows.Count; i++) { DataRow[] rows = dt.Select("name='" + dtName.Rows[i][0] + "'"); //temp用来存储筛选出来的数据 DataTable temp = dtLwolf.Clone(); foreach (DataRow row in rows) { temp.Rows.Add(row.ItemArray); } DataRow dr = dtLwolf.NewRow(); dr[0] = dtName.Rows[i][0].ToString(); dr[1] = temp.Compute("sum(score)", ""); dtLwolf.Rows.Add(dr); }