比如说我有这个数据表:

c# - 使用Where子句在DataTable的列中找到最小值/最大值?-LMLPHP

是否可以基于Year列获取Day1列的最小值/最大值?可能使用select语句?

在SQL中,您可以执行以下操作:
从TST WHERE年中选择MIN(第1天),最大(第1天)年份= 2015

最佳答案

我不确定是否可以在一个语句中执行此操作,但是可以使用LINQ在两个语句中执行此操作:

var minValue = tst.Where(t => t.Year == 2015).Min(t => t.Day1);
var maxValue = tst.Where(t => t.Year == 2015).Max(t => t.Day1);


tst必须是LINQ可以识别的东西,例如List,IEnumerable或Array。

您可以使用Select方法从DataTable中获取数组,甚至可以执行第一个过滤器:

var data = tst.Select("Year = 2015", "Day1 ASC").ToList(); // Not that you need it sorted
var minValue = data.Min(t => t.Day1);
var maxValue = data.Max(t => t.Day1);

关于c# - 使用Where子句在DataTable的列中找到最小值/最大值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40347655/

10-13 01:23