Добрый день. Прошу вашей помощи в написание LINQ-запроса. Допустим, у нас 3 поля: категория, продавец, количество. Исходная таблица: Категория Продавец Количество -------------------------------- 200 Пупкин 50 400 Иванов 150 200 Пупкин 100 300 Пупкин 355 400 Иванов 500 Итоговая таблица: Категория Продавец Количество -------------------------------- 200 Пупкин 150 400 Иванов 650 300 Пупкин 355 Нужно сгруппировать по категории, потом по продавцу и посчитать сумму количества. Как это сделать на LINQ в C#? Заранее спасибо за помощь!
Ответ
Попробуйте так:
var items = new[]
{
new { Category = 200, Seller = "Пупкин", Count = 50 },
new { Category = 400, Seller = "Иванов", Count = 150 },
new { Category = 200, Seller = "Пупкин", Count = 100 },
new { Category = 300, Seller = "Пупкин", Count = 355 },
new { Category = 400, Seller = "Иванов", Count = 500 },
};
var gr = items.GroupBy(x => new { x.Category, x.Seller });
foreach (var g in gr)
{
Console.WriteLine(@"{0} {1} {2}", g.Key.Category, g.Key.Seller,
g.Sum(x => x.Count));
}
Комментариев нет:
Отправить комментарий