2014-01-27 3 views
1

У меня есть ниже данные в DataTable -LINQ, чтобы получить определенное значение столбца со счетом строки

Col1  Col2 
----------------------- 
Pramod | In 
Pramod | In 
Pramod | Out 
Pramod | In 
Pramod | In 
Pramod | Out 
Pankaj | In 
Pankaj | In 
Pankaj | Out 
Abhi | In 
Abhi | In 
Abhi | Out 

Я хочу ниже вывода с помощью LINQ,

Col1 | In | Out 
------------------ 
Pramod | 4 | 2 
Pankaj | 2 | 1 
Abhi | 2 | 1 

Пожалуйста, помогите

ответ

4

Группа строк по значению Col1, а затем рассчитать количество In и Out значений в каждой группе:

from r in table.AsEnumerable() 
group r by r.Field<string>("Col1") into g 
select new { 
    Col1 = g.Key, 
    In = g.Count(r => r.Field<string>("Col2") == "In"), 
    Out = g.Count(r => r.Field<string>("Col2") == "Out") 
} 
+0

@SergeyBerezovskiy .. большое спасибо, я нашел, что LINQ очень полезен для сложных запросов. Поскольку я новичок в LINQ, вы можете предложить некоторые книги, чтобы узнать LINQ – user3240893

+0

@ user3240893 Предлагаю вам просмотреть [множественный лимит] (http : //www.pluralsight.com/training) Учебники LINQ. Они очень информативны –

Смежные вопросы