读书人

DataTable.Compute有关问题

发布时间: 2013-02-18 10:50:49 作者: rapoo

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")

读书人网 >C#

热点推荐