var query= from t in ds.Talbes[0].AsEnumerable() group t by new {字段1=t.Field<string>("字段1"),字段2=t.Field<string>("字段2")} into g select new {g.Key.字段1,g.Key.字段2,字段3=g.Max(s=>s.Field<double>("字段3")}; [解决办法] 本人亲自试过,可以达到你要的效果!
select 字段1 ,字段2,max(字段3) from Table1 group by 字段1,字段2 [解决办法] up
[解决办法] 上面的回答第三个字段没有表头,下面的这个第三个地段有表头
select 字段1 ,字段2,max(字段3) as ’字段3‘ from Table1 group by 字段1,字段2 [解决办法]
[解决办法] DataTable dt = new DataTable(); dt.Columns.Add("字段1",typeof(string)); dt.Columns.Add("字段2", typeof(string)); dt.Columns.Add("字段3", typeof(decimal)); dt.Rows.Add("aa","bb",6); dt.Rows.Add("aa","bb",6.5); dt.Rows.Add("aa","bb",5); dt.Rows.Add("cc","dd",7); dt.Rows.Add("cc","dd",6); dt.Rows.Add("ee", "ff", 9); var source = from temp in dt.AsEnumerable() group temp by new { 字段1 = temp.Field<string>("字段1"), 字段2 = temp.Field<string>("字段2") } into g select new { 字段1 = g.Key.字段1, 字段2 = g.Key.字段2, 字段3 = g.Max(t => t.Field<decimal>("字段3")) }; foreach (var s in source) { Response.Write("<br/>"); Response.Write(s.字段1 + " " + s.字段2 + " " + s.字段3); }