首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

DataTable查询,该怎么解决

2012-01-15 
DataTable查询value | time25.2 | 2011-05-15 19:50:1223.6 | 2011-05-15 19:50:5825.8 | 2011-05-15 19:5

DataTable查询
value | time
 25.2 | 2011-05-15 19:50:12
 23.6 | 2011-05-15 19:50:58
 25.8 | 2011-05-15 19:51:23
 24.5 | 2011-05-15 19:51:51

关于这样结构的表,如何用linq来查
最大值:
value | time
25.8 | 2011-05-15 19:51:23
最小值:
value | time
23.6 | 2011-05-15 19:50:58
平均值
value
24.775

[解决办法]
http://topic.csdn.net/u/20090329/20/10391661-1721-41c2-a9e7-f183c38254e7.html
我觉的可以参考这个
[解决办法]
var max = (from x in entities orderby x.value select x).Take(1);
var min = (from x in entities descending orderby x.value descting select x).Take(1);
var avg = new { value = entities.Average(x => x.value) };
[解决办法]

C# code
void Main(){  DataTable dt=new DataTable();  dt.Columns.Add("value",typeof(double));  dt.Columns.Add("time",typeof(string));  dt.Rows.Add(25.2,"2011-05-15 19:50:12");  dt.Rows.Add(23.6,"2011-05-15 19:50:58");  dt.Rows.Add(25.8,"2011-05-15 19:51:23");  dt.Rows.Add(24.5,"2011-05-15 19:51:51");    var max=dt.AsEnumerable().OrderByDescending(r=>r.Field<double>("value")).FirstOrDefault();    var min=dt.AsEnumerable().OrderBy(r=>r.Field<double>("value")).FirstOrDefault();    var average=dt.AsEnumerable().Average(r=>r.Field<double>("value"));     } 

热点排行