日期:2014-05-17  浏览次数:20862 次

DataTable.Compute问题
数据集里
2011-01-01  12
2011-01-02  50
2011-01-03  18
2011-01-04  21
2011-01-05  33
2011-01-06  20
2011-01-07  51

找出 2011-01-01 到2011-01-05 中的

最大值和其对应的日期
也就是结果为  2011-01-02   50 
可以分多步骤,只要得到这结果就好


大侠速度~~~~~~~~

------解决方案--------------------
table.Compute("Sum(Total)", "日期 > '2011-01-01' and 日期 < '2011-01-05'");

------解决方案--------------------
where 第一列 between 最小时间 and 最大时间 order by 第二列 desc

取第二行
或者用linq

------解决方案--------------------
var maxRow = dt.AsEnumerable().Aggregate((a, b) => (int)a[1] > (int)b[1] ? a : b);
            
------解决方案--------------------
取出行数组 drs = table.select("日期 > '2011-01-01' and 日期 < '2011-01-05'", "Total desc")

数组第一个就是你要的结果:  drs(0)("日期") 和 drs(0)("Total")