Страницы

Поиск по вопросам

воскресенье, 14 апреля 2019 г.

Составить LINQ

Добрый день. Прошу вашей помощи в написание 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)); }

Комментариев нет:

Отправить комментарий