Как взять значения Min / Max для соседних столбцов после группировки в LINQ? - PullRequest
1 голос
/ 17 июня 2010

Ребята, я новичок в LINQ. Пожалуйста, помогите мне. Вот мой сценарий ...

ParaId-------ErrorId
1-------------1
60------------2
125-----------3
126-----------3
127-----------3
128-----------3
129-----------3
247-----------4
248-----------4
249-----------4

Выше приведен результат из некоторого запроса. Столбец ErrorId повторяет значения. То, что я хочу, это минимальное и максимальное значения для столбца ParaId для каждой группы значений ErrorId ...

Например, для ErrorId 3, Min ParaId равен 125, а Max равен 129.

Я застрял на ... var q = abc.GroupBy(x => x.ErrorID); // abc is the resultset

И не знаю, что делать дальше. Пожалуйста, помогите мне разобраться в вышесказанном.

Заранее спасибо.

1 Ответ

0 голосов
/ 17 июня 2010

Это сделает это

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);
            }
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...