Страницы

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

суббота, 8 февраля 2020 г.

Составить LINQ

#c_sharp #linq


Добрый день. Прошу вашей помощи в написание LINQ-запроса.
Допустим, у нас 3 поля: категория, продавец, количество.
Исходная таблица:
Категория  Продавец  Количество
--------------------------------
  200       Пупкин      50
  400       Иванов      150
  200       Пупкин      100
  300       Пупкин      355
  400       Иванов      500

Итоговая таблица:
Категория  Продавец  Количество
--------------------------------
  200       Пупкин      150
  400       Иванов      650
  300       Пупкин      355

Нужно сгруппировать по категории, потом по продавцу и посчитать сумму количества.
Как это сделать на LINQ в C#? Заранее спасибо за помощь!    


Ответы

Ответ 1



Попробуйте так: 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)); }

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

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