伙计们,我是LINQ的新手。请帮助我。以下是我的情景...
ParaId-------ErrorId
1-------------1
60------------2
125-----------3
126-----------3
127-----------3
128-----------3
129-----------3
247-----------4
248-----------4
249-----------4
以上是某些查询的结果.ErrorId列重复值。我想要的是每组ErrorId值的ParaId列的Min和Max值......
例如,对于ErrorId 3,Min ParaId为125,Max为129。
我坚持...... var q = abc.GroupBy(x => x.ErrorID); // abc is the resultset
不知道接下来该做什么。请帮助我解决上述问题。
提前致谢。
答案 0 :(得分:0)
这样做
class Program
{
static void Main(string[] args)
{
List<Err> l=new List<Err>() {
new Err(1,1),
new Err(60,2),
new Err(125,3),
new Err(126,3),
new Err(127,3),
new Err(128,3),
new Err(129,3),
new Err(247,4),
new Err(248,4),
new Err(249,4)};
var x=l.GroupBy(y=>y.ErrorId).Select(y=>new {y.Key,MaxPara=y.Max(z=>z.ParaId),MinPara=y.Min(z=>z.ParaId)});
foreach(var y in x)
Console.WriteLine("{0} {1} {2}",y.Key,y.MaxPara,y.MinPara);
}
}
}